ncursesライブラリを使用してプログラムをビルドするときに出力をファイルにリダイレクトする方法

ncursesライブラリを使用してプログラムをビルドするときに出力をファイルにリダイレクトする方法

重複の可能性:
スクリプト出力から制御文字(コンソールコード/色付き)を削除する

このモードで出力をファイルにリダイレクトすると、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

出力が色分けされている場合、色エスケープ文字列を削除するにはいくつかの追加操作が必要です。

おすすめ記事