ls --colorsが機能しない|

ls --colorsが機能しない|

次のコマンドを使用して、すべての隠しディレクトリを一覧表示しようとします。

ls -lhAF1 | grep -E '^d.*[0-9]{2}:[0-9]{2} \.'

良い結果

正規表現の説明:d、テキスト、タイムスタンプ、スペース、ドット、および追加のテキスト形式のすべての行を取得しようとしています。

ただし、次のコマンドを使用してls出力の色を指定しようとすると、次のようになります。

ls --color -lhAF1 | grep -E '^d.*[0-9]{2}:[0-9]{2} \.'

結果が0でなしの出力は次--colorのとおりです。

drwxr-xr-x 1ユーザーグループ4096 2月1日08:48 .invisible

ls / grepがこれを行うのはなぜですか?

ベストアンサー1

--color色のエスケープシーケンスを追加します。出力をファイルにリダイレクトすると、ls --colorこれを確認できます。

次のようになります。

 drwxr-xr-x  6 root root 4.0K Jan  9 08:23 ^[[01;34m.cabal^[[0m/

この問題を解決するには、以下を試してください。

 ls -lhAF1 --color | grep -E '^d.*[0-9]{2}:[0-9]{2} .*\.'

おすすめ記事