Команда поиска выдает ошибку, хотя я перенаправляю stderr в / dev / null - PullRequest
0 голосов
/ 04 июля 2018

Моя команда поиска генерирует ошибки, которые я не хочу видеть. Я перенаправляю stderr в / dev / null, но он не работает. Помоги мне спрятать это.

~$ find . -type f -name '*.js' -print | xargs grep self.setNetwork 2>/dev/null
find: ‘./_statCon’: Permission denied
./oz-workspace/src/js/truffle-contract.js:            self.setNetwork(network_id);
./oz-workspace/src/js/truffle-contract.js:                self.setNetwork(uris[i]);
./oz-workspace/src/js/truffle-contract.js:            self.setNetwork(network_id);

Ответы [ 2 ]

0 голосов
/ 04 июля 2018

и прошло

( find . -type f -name '*.js' -print 2>/dev/null ) | xargs grep self.setNetwork 2>/dev/null
0 голосов
/ 04 июля 2018

Ошибка исходит от find, а не grep.

find . -type f -name '*.js' -print 2>/dev/null | xargs grep self.setNetwork

Для того, чтобы это стоило, вы должны использовать -print0 | xargs -0 для правильной обработки имен файлов с пробелами.

find . -type f -name '*.js' -print0 2>/dev/null | xargs -0 grep self.setNetwork

Или еще лучше, используйте -exec.

find . -type f -name '*.js' -exec grep self.setNetwork {} + 2>/dev/null
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...