如何在 Mac OS 上使用 sed 最后将“^M”替换为“,1”?

莎拉

如何使用 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] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章