删除MS CSV文件末尾的空白行

时间:2019-10-14 06:44:50

标签: shell unix

我在一条路径上大约有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

输出: enter image description here

1 个答案:

答案 0 :(得分:1)

请使用'/ ^,* $ / d'代替'/ ^ $ / d'。

sed '/^,*$/d' ${File_Path}*_PROD.csv > ${File_Path}*_PROD_new.csv