$ cat > test.txt <<EOL
Beam goes blah
John goes hey
Beam goes what?
John goes forget it
Beam goes okay
Beam goes bye
EOL
$
# works
tail -f test.txt | awk '/Beam/ {print $3}'
# does not work
tail -f test.txt | awk -f CERTAINLIB.AWK -e '/Beam/ {print $3}'
# does not work either
awk -f CERTAINLIB.AWK -e '/Beam/ {print $3}' < <(tail -f test.txt)
您能否帮忙评论一下为什么awk -f
不适用于管道内容以及可能的解决方法?非常感谢 !
事实证明,问题来自于 CERTAINLIB.AWK,它会过滤传入的文本......
答案1
问题已解决在评论中。
该代码不是与读取管道输入相关的问题,而是删除了表达式本应输出CERTAINLIB.AWK
的数据。-e