s grep můžete zadat příznak -s, který dělá skoro to, co řekl @ortang
-s, --no-messages Potlačit chybové zprávy o neexistujících nebo nečitelných souborech. Poznámka k přenositelnosti:na rozdíl od GNU grep, 7th Edition Unix grep nevyhovoval POSIX, protože postrádal -q a jeho volba -s se chovala jako volba -q GNU grep. grep ve stylu USG také postrádal -q, ale jeho volba -s se chovala jako GNU grep. Přenosné shellscripty by se měly vyhýbat jak -q, tak -s a měly by místo toho přesměrovat standardní a chybový výstup do /dev/null.
s find, pokud vím, @ortangs odpověď je best.something like
find / -name "myfile" -type f -print 2>/dev/null
Zkuste přesměrovat stderr
do /dev/null
.
[email protected]:/$ grep -rnP 'YII_CORE_PATH' ./ 2> /dev/null | grep -v .svn
Přesměrování strerr
až /dev/null
(také znám jako black hole
) je dobrý způsob, jak potlačit chyby odepření povolení.
Uvědomte si však, že toto zranění nejen potlačí permission denied
zprávy kromě VŠECHNY chybové zprávy.
Pokud si přejete zachovat jiné chybové zprávy než permission denied
pak můžete udělat něco takového -
grep -rnP 'YII_CORE_PATH' ./ 2>&1 | grep -v 'permission denied' > error.log
Pokud si je nechcete ponechat, pak by bylo v pořádku následující -
grep -rnP 'YII_CORE_PATH' ./ 2> /dev/null | grep -v .svn