1

如果我在终端应用程序中的 Mac OS X 10.7.2 上执行此操作:

$ cat test.txt | od -c

我明白了

0000000    t   e   s   t   1  \n   t   e   s   t   2                    
0000013

这就是我的 test.txt 文件的真实内容。行。

但是如果我执行 sed 它会在每个文件中添加一个新行。

$ sed 's/e/X/g' test.txt | od -c
0000000    t   X   s   t   1  \n   t   X   s   t   2  \n                
0000014

我不想要这条新线。我怎样才能解决这个问题?

4

1 回答 1

1

printf在 awk 中使用。第一行的特殊情况,以便在没有换行符的情况下打印。所有剩余的行都用前面的换行符打印。这可确保您永远不会以换行符结束。

基本结构:

awk 'NR==1 { printf("%s", $0); next }
     { printf("\n%s", $0) }'
于 2012-04-19T14:17:29.810 回答