如何使用 sed 在每行末尾添加“,1”?我使用的文件是这样的;
A
B
C
我试过这个;
sed 's/$/,1/' alphabets.txt > alphabets1.txt
得到了这个;
A
,1
B
,1
C
,1
但我想要的是这个;
A,1
B,1
C,1
当我尝试“https://stackoverflow.com/questions/15978504/add-text-at-the-end-of-each-line”中的最佳答案时,我得到了一个空白页。
sed -n 's/$/,1/' alphabets.txt > alphabets2.txt
我发现最后有 ^M 使用 cat -vt 文件。如何删除它并将其更改为“,1”?
Macsed
是 BSD sed。您可以在一个可选地\r
以删除\r
和追加结尾的文件上尝试此命令1
:
sed -E $'s/\\\r?$/,1/'
A,1
B,1
C,1
确保bash
在运行此shell时使用shell 。
您还可以使用:
sed -E 's/'$'\r''?$/,1/' file
$'\r'
是一个要匹配的 BASH 字符串,\r
然后?
使它成为可选的。
请注意,这个 sed 命令也可以在gnu sed
.
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句