最近の Linux シェルでは、多くのコマンド (などls
) が色付きのテキストを出力できます。
他のコマンドとパイプすると、色が失われます。例:
$ ls path
[... folders in blue, executables in green,..etc ]
$ ls path | grep foo
[... all in black and white]
grep
パイプの 2 番目の部分でls
色 (または実行される他のコマンド)を尊重するにはどうすればよいですか?
答え1
ls
パイプに書き込むときには--color=auto
色が追加されないため、出力を常に色付けするように指示できます。
そうすると、色が追加ls --color=always path | grep --color=never foo
されls
、grep
独自の色に置き換えられなくなります。
答え2
どちらのコマンドにも--color=always
引数があります。
$ ls --color=always | grep e