awk -f 不适用于管道内容

awk -f 不适用于管道内容
$ 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

相关内容