Подавить поиск & amp; grep & # 8220; не открывается & # 8221; выход

StackOverflow https://stackoverflow.com/questions/1028885

  •  06-07-2019
  •  | 
  •  

Вопрос

Мне был предоставлен этот синтаксис пользователем фи

find . | awk '!/((\.jpeg)|(\.jpg)|(\.png))$/ {print 
grep: can't open ./cisc/.xdbhist
find: cannot open ./cisc/.ssh
;}' | xargs grep "B206"

Я хотел бы подавить вывод команды grep: не могу открыть ..... и найти: не могу открыть строки из результатов.

пример вывода, который следует игнорировать:

<*>
Это было полезно?

Решение

Вы пытались перенаправить stderr в / dev / null?

2>/dev/null

Таким образом, вышеприведенное перенаправляет поток № 2 (который является stderr) в / dev / null. Это зависит от оболочки, но вышесказанное должно работать для большинства. Поскольку find и grep - это разные процессы, вам, возможно, придется сделать это для обоих или (возможно) выполнить в подоболочке. например.

find ... 2>/dev/null | xargs grep ... 2>/dev/null

Вот ссылка на некоторую документацию по перенаправлению bash. Если вы не используете csh, это должно работать для большинства.

Другие советы

Опция флага grep -s подавит эти сообщения для команды grep

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top