Как вам новая альтернатива?
echo "doesn't have" |
tee -a $(grep -riL 'code' file/file)
Я переключился на опцию -L
, чтобы перечислить файлы, которые не содержат строку поиска.
Это, к сожалению, довольно хрупкое в том смысле, что предполагается, что ваши имена файлов не содержат пробелов или других метасимволов оболочки. Это может быть исправлено за счет некоторой сложности (кратко, grep
выводит совпадения с завершающим нулем и считывает их в массив с readarray -d ''
. Для этого требуется достаточно недавний Bash и, вероятно, GNU grep
. )