3

コマンドの出力の色をエクスポートする方法はありますか?

小さな例で説明しましょう。

ls -alh --color=auto

ディレクトリの色付きの内容を印刷しますが、

ls -alh --color=auto | cat

一部の色を印刷しません。私が知りたいのは、 のmagicようなこれらのコマンドを復元し\033[1mて、後の処理で色を利用できるようにするトリックまたはツールです。

ls -alh --color=auto | magic | cat

また

ls -alh --color=auto | magic >> file

更新:この例のためだけに
使用していますが、一般的な可能性があるかどうかを知りたいです。ls

4

3 に答える 3

3
script outputfile command 

トリックを行います。例えば:

script capture.txt ls --color=always
于 2011-09-02T22:28:25.820 に答える
2

カラーコードは実際にはls出力の一部であるため、それらを「復元」する方法はありません (そもそも存在しないため)。

ただし、 を使用するとls --color=alwaysls非対話モードで使用した場合でもカラー コードが出力されます。

于 2011-09-02T22:13:30.180 に答える
2

基本的にlsは、スマートで、出力が端末に送信されていないことを検出します。少なくしたい場合は、 を試してくださいls --color=always

色を使用してファイルの種類を区別することは、デフォルトと の両方で無効になっています--color=never。を使用--color=autoすると、ls は、標準出力が端末に接続されている場合にのみカラー コードを出力します。LS_COLORS環境変数は設定を変更できます。dircolorsコマンドを使用して設定します。

于 2011-09-02T22:15:20.270 に答える