为什么在没有打印命令的情况下awk打印文件内容

时间:2018-06-23 03:00:38

标签: awk

我有一个awk文件,我将文件中的每个单词读入一个数组,其中没有打印命令,但是运行它之后,文件的全部内容都会打印出来,

 #!/bin/awk -f
{
for(i=1;i<=NF;i++)
 used[$i]=1
}

像这样运行这个awk文件后

 awk 1.awk 2

文件2的全部内容都打印在屏幕上,我很困惑, 我直接从命令行尝试了此操作,没有输出任何内容,因此我认为该文件或运行此文件的方式有问题,

1 个答案:

答案 0 :(得分:2)

您错过了-f选项:awk -f 1.awk 2

您提供的是代替<1> awk命令的内容,而是使用文字字符串 1.awk作为awk命令。

您基本上可以做到这一点:awk '"1.awk"' 2

由于这是一个“ true”值,因此默认操作是打印文件“ 2”中包含的数据的每条记录。