这些是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中得不到相同的结果?
答案 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