我在一条路径上大约有300个csv文件位置。 这些文件名具有3个不同的类别,即“ _PROD.csv”,“ _DEV.csv”和* _UAT.csv”
这些文件有许多空行(大约1000行),当它们被进程复制到路径时,它们会插入到记录的末尾。
我想从所有这些文件中删除空白行。删除空格后,我必须对这些文件执行合并。
我尝试了以下方法:
sed -i '/^$/d' ${File_Path}*_PROD.csv
sed -i '/^$/d' ${File_Path}*_DEV.csv
sed -i '/^$/d' ${File_Path}*_UAT.csv
sed -i -e '/^[[:space:]]*$/d' \
"${File_Path}"*_{PROD,DEV,UAT}.csv
但是它不起作用。
-sh-4.2$ echo sed -i '/^$/d' Sample_data.csv
sed -i /^$/d Sample_data.csv
样本数据:
ID,Name ,DB
100,Amit,TD
200,Sumit,Oracle
300,Anshu,MS SQL
,,
,,
500,Jaya,MONGO
600,Sameer,HADOOP
答案 0 :(得分:1)
请使用'/ ^,* $ / d'代替'/ ^ $ / d'。
sed '/^,*$/d' ${File_Path}*_PROD.csv > ${File_Path}*_PROD_new.csv