gpt4 book ai didi

linux - Tail -f 通过管道传输到 > awk 通过管道传输到文件 > 文件不起作用

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:31:20 26 4
gpt4 key购买 nike

无法解决管道和潜在的缓冲问题。我正在尝试执行一组似乎在某些管道级别中断的管道操作。为了简化,我将其缩小到 3 个不能正常工作的管道操作

tail -f | awk '{print $1}' > 文件

结果没有数据重定向到文件,但是

tail -f | awk '{print $1}'

结果输出到stdout fine

还有

尾 -10 | awk '{print $1}' > 文件

也很好用。

以为是缓冲的问题,试过了

tail -f | unbuffer awk '{print $1}' > 文件

什么没有产生积极的结果

(注意:在原始请求中,我在使用 grep --line-buffer 之间进行了更多操作,但问题已缩小为 3 个管道命令 tail -f | awk >文件

最佳答案

以下将在给定文件上 tail -f 并且每当添加新数据时将自动执行 while 循环:

tail -f file_to_watch | while read a; do echo "$a" |awk '{print $1}' >> file;  done

或者更简单地说,如果你真的只需要打印第一个字段,你可以像这样直接将它读到你的变量中:

tail -f file_to_watch | while read a b; do echo "$a" >> file;  done

关于linux - Tail -f 通过管道传输到 > awk 通过管道传输到文件 > 文件不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26870259/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com