在macOS上添加后缀不能与sed和awk一起使用

时间:2017-03-10 10:58:02

标签: macos awk sed suffix

这些是t.txt

的内容
ABCDEFG
ABCDEFG
ABCDEFG
ABCDEFG

我尝试使用这些命令在行尾添加后缀:

$ cat t.txt | sed -e 's/$/-asdf/'
$ cat t.txt | awk '{ print $0 "-asdf" }'

macOS中的结果:

-asdfFG
-asdfFG
-asdfFG
ABCDEFG-asdf

Linux中的结果:

ABCDEFG-abcd
ABCDEFG-abcd
ABCDEFG-abcd
ABCDEFG-abcd

为什么我在macOS中得不到相同的结果?

1 个答案:

答案 0 :(得分:2)

您的文件中有回车符。 macOS Sierra,在LF-only文件上使用内置sed:

mike ~ ❱❱❱ cat t.txt
ABCDEFG
ABCDEFG
ABCDEFG
ABCDEFG
mike ~ ❱❱❱ /usr/bin/sed -e 's/$/-asdf/' t.txt
ABCDEFG-asdf
ABCDEFG-asdf
ABCDEFG-asdf
ABCDEFG-asdf

用CRLF重新保存:

mike ~ ❱❱❱ /usr/bin/sed -e 's/$/-asdf/' t.txt
-asdfFG
-asdfFG
-asdfFG
-asdfFG