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

为什么awk在没有打印命令的情况下打印文件内容,awk,Awk,我有一个awk文件,我把每个单词从一个文件读到一个数组中,里面没有打印命令,但是在我运行它之后,文件的全部内容都被打印出来了 #!/bin/awk -f { for(i=1;i<=NF;i++) used[$i]=1 } 文件2的全部内容都打印在屏幕上,我很困惑, 我直接从命令行尝试了这个,没有打印出来,所以我认为文件或运行此文件的方式有问题,您错过了-f选项:awk-f 1.awk 2 您提供的不是作为awk命令的“1.awk”的内容,而是作为awk命令提供文本字符串 基本上可以这

我有一个awk文件,我把每个单词从一个文件读到一个数组中,里面没有打印命令,但是在我运行它之后,文件的全部内容都被打印出来了

 #!/bin/awk -f
{
for(i=1;i<=NF;i++)
 used[$i]=1
}
文件2的全部内容都打印在屏幕上,我很困惑,
我直接从命令行尝试了这个,没有打印出来,所以我认为文件或运行此文件的方式有问题,

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

您提供的不是作为awk命令的“1.awk”的内容,而是作为awk命令提供文本字符串

基本上可以这样做:
awk'1.awk'2


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

我在#之后的文件中添加选项-f/usr/bin,网上的一些文章说它会起作用,现在看来它不起作用了t@tonyibm如果您想使用shebang线,这可能会有所帮助。
 awk 1.awk 2