LS_COLORS変数にカラーマッチングの正規表現パターンを設定できますか?だから代わりに
*.jpg=38;5;220
できますか?
\.(jpg|gif)=38;5;220
これは単なる例なので、もっと複雑にしたいと思います。私はこれについてあまりにも多くを求めていますか?ターミナルカラースキームを好む他の方法はありますか?
ところで、私はzshを使っているので、そこでできますが、bashではできないと問題にはなりません。
答え1
これはls
ユーティリティの機能です。GNUコアツール。シェルに依存しません。構文は文書化されていません(dircolors
ここで使用して調べる必要があります)。ただし、ソースコードを簡単に見てみると、名前でファイルを照合する唯一の方法は、*
文字列とサフィックスでなければならない文字列を使用することです。一致させるファイル名。文字列は、エスケープシーケンス(例:==改行)を除いて、\
文字通り解釈されます。^
\n
^J
したがって、同じパターンで異なる拡張を一致させることはできません。ただし、シェルプログラミング構成を使用して以下を構築できますLS_COLORS
。
for ext in jpg gif; do LS_COLORS="$LS_COLORS:*.$ext=38;5;220"; done