Я получаю сообщения об ошибках сломанной трубы от команды, которая делает что-то вроде:
ls -tr1 /a/path | awk -F '\n' -vpath=/prepend/path/ '{print path$1}' | head -n 50
По сути, я хочу перечислить (с абсолютным путем) самые старые файлы X в каталоге.
Кажется, что происходит то, что вывод правильный (я получаю 50 путей к файлам), но когда head выдает 50 файлов, он закрывает stdin, заставляя awk выдавать ошибку сломанного канала, поскольку он все еще выводит больше строк.