4

サーバーからのログファイルを分析しています(そこからの特定の数行)。しかし、これらの行の長さは約 1000 ~ 2000 文字です。

これは、次のコマンドgrepを使用して行がどのように出力されるかの例です。less

tail -n 1000 log.log | grep 'SOME_TEXT' | less

出力:

random text SOME_TEXT another 1000 chars
random SOME_TEXT 2000 chars
text text SOME_TEXT 2000 chars

しかし、それらは画面いっぱいのテキストであるため、それらを分離するのは困難です(また、目にも快適ではありません)。私は打撃のような出力をしたい:

random text SOME_TEXT another 1000 chars

random SOME_TEXT 2000 chars

text text SOME_TEXT 2000 chars

そして、上記のコマンドをsed次のように変更しました。

tail -n 1000 log.log | grep 'SOME_TEXT' | sed 's/\n/\n\n/' | less

うまくいかなかったので、tr次の方法で試しました:

tail -n 1000 log.log | grep 'SOME_TEXT' | tr '\n' '\n\n' | less

それは私にもうまくいきませんでした。ここで何が欠けていますか?

4

4 に答える 4

7

これはあなたのために働くかもしれません:

sed G file
于 2014-02-05T09:22:14.880 に答える