从日志文件的sftp连接中排除特定行

问题描述 投票:1回答:1

我有多个脚本可以连接到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。不是世界末日,但我确实觉得很奇怪。

如何过滤以|开头的行,使它们在任何地方都不会显示?

bash sftp gnu
1个回答
1
投票
© www.soinside.com 2019 - 2024. All rights reserved.