В bash 2> /dev/null
будет работать, если вы добавите его как часть самой команды поиска, то есть перед конвейером.
Например, это будет работать:
find -type f -printf "%s %p\n" 2> /dev/null | sort -nr | head -n 20
С tcsh нет простого способа сделать то же самое, но man tcsh упоминает обходной путь:
В настоящее время оболочка не может перенаправить диагностический вывод без перенаправления стандартного вывода, но « (команда> выходной файл)> и файл ошибок » часто является приемлемым обходным решением. Выходной файл или файл ошибок может быть '/dev/tty' для отправки вывода на терминал.
Для простой команды поиска это дает:
(find > /dev/tty) >& /dev/null
При использовании каналов, в отличие от bash, вы должны поместить > /dev/tty
после последнего канала, чтобы избежать перенаправления вывода Ambiguous. сообщение об ошибке.
Это будет работать в tcsh:
(find -type f -printf "%s %p\n" | sort -nr | head -n 20 > /dev/tty) >& /dev/null