lsコマンドを少なくすると、色は出力されません。

lsコマンドを少なくすると、色は出力されません。

実行するとlsカラー出力が表示されるため、これらのファイルをすばやくナビゲートするのに非常に便利です。 andフラグをless使用してパイプを試みると、色は常に失われます。バージョン5.0.7を使用しています。どんなアイデアがありますか?ありがとうございます。-r-Rzsh

編集:私はOS Xを使用しています。

ベストアンサー1

これは意図的に設計されています。カラー出力を生成するプログラムは、通常、出力がパイプまたは通常のファイルに転送されるのではなく、端末に到達したときにのみそうします。その理由は、端末に送信されたデータは人が読む可能性が高いのに対し、プログラムにパイプで渡されたり、ファイルに記録されたデータは一部のプログラムによって解析される可能性が高いため、色などの不要な内容を含めてはならない。だからです。 - エスケープシーケンスの変更。

オプション(または)を渡すと、GNUはls端末にカラー出力を表示します。標準出力のファイル形式に関係なく、カラー出力を強制するには、または(同義語)を渡します。 GNU grep、FreeBSD grepなどの他のコマンドもこの規則に従います。--color--color=auto--color=always--color=yesgit diff

ls --colors=yes -l | less

FreeBSDバージョンls(OSXにもあり、OpenBSDおよびNetBSDのポートとしてもあります)のcolorls場合は、端末に出力するときに色を表示するオプションを渡します。出力ファイルの種類に関係なく色が表示されるように-G環境を設定します。CLICOLOR_FORCE

CLICOLOR_FORCE=1 ls -l | less

おすすめ記事