这个sed命令有什么问题?

时间:2017-08-17 12:36:47

标签: bash sed

我面临一个奇怪的问题。我想要做的事情的答案已经存在Here。我试图从包含数千行的文件的每一行中删除尾随逗号。像这样 -

enter image description here

这是我的命令 -

sed -i 's/,*$//g' file_name.csv

但是,我获得的输出与上图完全相同,并且不会删除尾随逗号。

我认为SED与模式不匹配,因此无法替换逗号。要检查文件中是否有隐藏字符,我使用了VIM的:设置列表选项 -

enter image description here

每行末尾只有 $ ,这正是预期的结果。

我无法理解命令失败的原因。

1 个答案:

答案 0 :(得分:0)

我可以建议你两个选择: 第一个是我最喜欢的。

     dos2unix file 
#####will work for Huge File also

然后尝试运行命令。

其他方法:

cat file | tr -d '\r' > file
###may not work for huge file

然后运行命令。

tr -d '\r' < file > file.tmp ; mv file.tmp file 
    ##will work for Huge File also

感谢@Nahuel建议最后一个命令。