繁体   English   中英

SED在末尾添加新行

[英]SED adds new line at the end

如果我在终端应用程序的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

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

在awk中使用printf 第一行是特殊情况,以便在不换行的情况下进行打印。 其余所有行都打印有一个换行符。 这样可以确保您永远不会以换行符结尾。

基本结构:

awk 'NR==1 { printf("%s", $0); next }
     { printf("\n%s", $0) }'

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM