这个sed命令有什么问题?
我正面临一个奇怪的问题。我想要做的答案已经存在Here。我试图从包含数千行的文件的每一行删除尾随逗号。这样的 -这个sed命令有什么问题?
这是我的命令 -
sed -i 's/,*$//g' file_name.csv
然而,输出我得到的是完全一样的图像上,并尾随逗号不会被删除。
我认为SED不符合该模式,因此无法取代逗号。要检查是否有任何隐藏字符的文件,我用VIM的:设置列表选项 -
有每个而这正是预期一行的末尾只$。
我不明白为什么命令失败。
我可以建议你两种选择: 第一个是我的最爱。
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提示最后的命令。
第二个命令是错误的,cat是无用的,file可能会被截断后才能被读取 –
@NahuelFouilleul如果它的文件非常庞大。那么是的:) –
可以使用一个临时文件:'tr -d'\ r' file.tmp; mv file.tmp文件' –
尝试'sed's /,\ + $ // g'' –
也不张贴纯文本的图片。只是复制和粘贴文字 – sashang
'sed's /,*.$// g''可以做到 – Edvin