在macOS上添加后缀不适用于sed和awk
这些是在macOS上添加后缀不适用于sed和awk,macos,awk,sed,suffix,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
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中得到相同的结果?您的文件中有回车符。macOS Sierra,在仅LF文件上使用内置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
你的档案里有运费申报单。macOS Sierra,在仅LF文件上使用内置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
您能否将
cat-A t.txt的输出添加到问题中?这闻起来像\r\n
的情况。使用dos2unix文件
或在awksub(/\r/,“”,$NF)
ro中删除\r
。尝试类似于cat t.txt | LC\u ALL=C sed-e's/$/-asdf/'
或cat t.txt | sed-e's/*/.&-asdf/'
@Sundeep没有此类选项用于cat-inmacOS@JamesBrown我在做macOS,没有\r\n。您可以将cat-A t.txt
的输出添加到问题中吗?这闻起来像\r\n
的情况。使用dos2unix文件
或在awksub(/\r/,“”,$NF)
ro中删除\r
。尝试类似于cat t.txt | LC\u ALL=C sed-e's/$/-asdf/'
或cat t.txt | sed-e's/*/.&-asdf/'
@Sundeep没有此类选项用于cat-inmacOS@JamesBrown我正在macOS上工作,没有。openbsd上的行为相同。我认为mac的awk和openbsd是一样的。顺便说一句,我的geany编辑器允许我通过菜单选择行尾:LF(unix)-Windows(CRLF)和经典的Mac CR。是的,macOS使用所有BSD实用程序,这会导致混乱!这就是说,我使用gsed
获得了与CRLF文件相同的行为。我有Debian-FreeBSD(VM)和OpenBSD(VM),它们都在repo中有可用的gawk。我想连麦克都有点傻。我仍然无法理解为什么大多数非Linux用户拒绝使用gnu工具,而这些工具在大多数发行版上都可用。实际上,我不得不通过MacPorts安装gawk。根本不是内置的。内置的只有Debian和类似的Linux发行版。也不是内置在BSD上。但它离我们只有几封信……:)openbsd上的行为相同。我认为mac的awk和openbsd是一样的。顺便说一句,我的geany编辑器允许我通过菜单选择行尾:LF(unix)-Windows(CRLF)和经典的Mac CR。是的,macOS使用所有BSD实用程序,这会导致混乱!这就是说,我使用gsed
获得了与CRLF文件相同的行为。我有Debian-FreeBSD(VM)和OpenBSD(VM),它们都在repo中有可用的gawk。我想连麦克都有点傻。我仍然无法理解为什么大多数非Linux用户拒绝使用gnu工具,而这些工具在大多数发行版上都可用。实际上,我不得不通过MacPorts安装gawk。根本不是内置的。内置的只有Debian和类似的Linux发行版。也不是内置在BSD上。但它离我们只有几封信……:)