У меня есть несколько сценариев для подключения к серверу sftp и размещения / получения файлов. Недавно администраторы sftp добавили большой заголовок для всех входов в систему, что взорвало мои файлы журналов, и я хотел бы исключить это, так как это увеличивает размер файлов, а также делает журналы несколько нечитаемыми.
Как есть, команды имеют следующий формат:
sftp user@host <<EOF &>> ${LOGFILE}
get ...
put ...
exit
EOF
Теперь я попытался выделить все новые строки, которые начинаются с канала (они в основном сделали коробка, чтобы положить их в).
sftp user@host <<EOF | grep -v '^|' &>> ${LOGFILE}
get ...
put ...
exit
EOF
Это исключает строки из ${LOGFILE}
, но вместо этого выбрасывает их в stdout
, что означает, что они попадают в другой файл журнала, где мы также не хотим их (эти сценарии вызываются планировщик). Как ни странно, он также отфильтровывает первую строку из выходных данных попытки подключения.
Connecting to <host>...
и перенаправляет ее также на stdout
. Не конец света, но я нахожу это странным.
Как я могу отфильтровать строки, начинающиеся с |
, чтобы они нигде не показывались?