我有一个awk文件,我将文件中的每个单词读入一个数组,其中没有打印命令,但是运行它之后,文件的全部内容都会打印出来,
#!/bin/awk -f
{
for(i=1;i<=NF;i++)
used[$i]=1
}
像这样运行这个awk文件后
awk 1.awk 2
文件2的全部内容都打印在屏幕上,我很困惑, 我直接从命令行尝试了此操作,没有输出任何内容,因此我认为该文件或运行此文件的方式有问题,
答案 0 :(得分:2)
您错过了-f
选项:awk -f 1.awk 2
您提供的是代替<1> awk命令的内容,而是使用文字字符串 1.awk
作为awk命令。
您基本上可以做到这一点:awk '"1.awk"' 2
由于这是一个“ true”值,因此默认操作是打印文件“ 2”中包含的数据的每条记录。