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 ファイルの実際の内容です。Ok。

しかし、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

printfawkで使用します。改行なしで印刷されるように、最初の行を特殊なケースにします。残りのすべての行は、前に改行が付いて印刷されます。これにより、改行で終わることはありません。

基本構造:

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