重複の可能性:
スクリプト出力から制御文字(コンソールコード/色付き)を削除する
このモードで出力をファイルにリダイレクトすると、top >> somefile.txt
出力に多くのゴミ値が表示されます。ただし、top
バッチ(top -b -n1 >> somefile.txt
)オプションにより、ファイル出力は要求に応じて行われます。同様のプログラムでは、nethogs
そのようなオプションはありません。この場合、良い結果はありますか?
答え1
ジャンクを直接フィルタリングすることもできます。たとえば、印刷できないすべての文字が削除されます。
nethogs | sed 's,[^[:print:]],,g' >> somefile.txt
必要に応じてそれを拡張するか、逆のアプローチをとることで、明示的なガベージではなくアイテムだけを通過させることができます。 (英数字と句読点):
nethogs | sed 's,[^[:alnum:][:punct:]],,g' >> somefile.txt
出力が色分けされている場合、色エスケープ文字列を削除するにはいくつかの追加操作が必要です。
答え2
これを行う良い方法はありませんが、時には端末を設定すると役に立ちます。
例えば、
TERM=dumb top
ほとんどの制御文字を削除しました。