7

В современной оболочке Linux многие команды (например, ls) могут выводить цветной текст.

Если вы передадите его другим командам, вы потеряете цвет. Например:

$ ls path
[... folders in blue, executables in green,..etc ]

$ ls path | grep foo
[... all in black and white]

Как сделать так, чтобы grep на второй части канала соответствовал цветам ls (или любой другой выполненной команде)?

2 ответа2

8

Вы можете указать ls всегда окрашивать вывод, так как при записи в канал с --color=auto он не добавляет цвет.

Если вы делаете ls --color=always path | grep --color=never foo заставит ls добавить цвет и не позволит grep заменить его собственными цветами.

1

Обе команды имеют аргумент --color=always .

$ ls --color=always | grep e

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .