Похоже, вам не хватает перенаправления stderr из самого run_wrapper.sh
, поэтому ошибки не проходят через grep
и не попадают в файл журнала.
Попробуйте сделать так, если вас устраивает, чтобы и stdout и sdterr записывались в лог-файл
run_wrapper.sh 2>&1 | grep -v "Warning: Using a password" > output.log
Или если вы хотите, чтобы в лог-файл записывались только ошибки, а stdout оставался для записи в вызывающий терминал, попробуйте так
( run_wrapper.sh 2>&1 1>&3 | grep -v "Warning: Using a password" > output.log ) 3>&1
Grep может быть нестабильным с нечетными символами .. попробуйте:
grep --color='auto' -P -n "[\x80-\xFF]" record.txt | iconv -f utf-16 -t utf-16
Это может вернуть ваши буквы .. цвета будут потеряны. Возможно, стоит погадать с помощью utf-16 и utf-8.
И убедитесь, что ваша консоль поддерживает uft-8 и не назначена какой-либо настройке ansi.
Это может быть связано с локалью. Если да, то использование языкового стандарта C (также известного как POSIX), где символы являются байтами, может работать:
LC_ALL=C grep --color='auto' -P -n "[\x80-\xFF]{2,10}" record.txt