簡體   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