获取 awk 值并输出到文件

获取 awk 值并输出到文件

我需要从我目前使用 awk 获取的日志文件中获取一个值。我可以在控制台上打印数字,但是当我尝试将该值放入新文件中时,什么也没有发生。这是我所拥有的

 sshpass -p $PASSWORD ssh $USERNAME@$REMOTE_IP_ADDR  tail -F $INPUT_FILE |  awk '{ print $16 }' > $OUTPUT_FILE

//when command is run without > $OUTPUT_FILE i get my value eg 4000

这不是缓冲问题,因为没有任何内容输出到文件中。创建了一个文件,但值并未写入新文件。此外,我的值总是被覆盖,因为它正在从另一个脚本读取一行,该脚本不断替换我读取的行。

所以我已经解决了我遇到的问题。解决方案是将命令分配给变量并将该变量写入文件。我之前尝试过这个,但我遇到的问题是我的 = 符号和命令之间有一个额外的空格。这是工作代码

 value=`sshpass -p $PASSWORD ssh $USERNAME@$REMOTE_IP_ADDR tail -n 1 $INPUT_FILE | awk '{ print $16 }'`

        echo $value

        echo $value > $OUTPUT_FILE

//will not work because of the space between "value= `sshpass"
 //  value= `sshpass -p $PASSWORD ssh $USERNAME@$REMOTE_IP_ADDR tail -n 1 $INPUT_FILE | awk '{ print $16 }'`

相关内容