使用Unix删除文件中的最后一个逗号

时间:2014-01-07 18:49:11

标签: unix csv sed comma tr

我的文件SQL_INPUT.csv将具有如下值(值的数量不一定是3,它将达到300但格式将如下所示)我只需要删除最后一个逗号

'YC101692','YE100097','YU102391',

我试过以下

sed '$ s/,$//' SQL_INPUT.csv

没有给出任何结果(没有删除最后,)也尝试了

SQL_INPUT.csv | tr -d ",$"

删除了所有逗号

3 个答案:

答案 0 :(得分:2)

你试图使用sed似乎差不多了。我会说以下应该可以解决问题:

sed s/,$// SQL_INPUT.csv

另外,如果您认为上一个逗号后面可能有空格,您可以将上面的命令更改为:

sed 's/, *$//' SQL_INPUT.csv

答案 1 :(得分:0)

这是awk

awk '{sub(/,$/,x)}1' SQL_INPUT.csv
'YC101692','YE100097','YU102391'

答案 2 :(得分:0)

是否在Windows中生成了文件,请在下面尝试:

dos2unix SQL_INPUT.csv SQL_INPUT.csv
sed '$ s/,$//' SQL_INPUT.csv