我可以像这样使用AWK连接两个文件:
awk 'NR=FNR{a[$2]=$2}{print $0, a[$1]}' FS="sep1" file1.txt FS="sep2" file2.txt
我还可以对正在处理的文件使用awk:
cut -d ' ' -f 2 file1.txt | sort | uniq -c | sort -rn | whatevercommands ... | awk '{print $0}'
现在如何使用awk加入正在使用示例1处理的文件,然后在其上使用awk?或者更确切地说,如何向awk馈送一个正在处理的文件而另一个新文件。例如:
cut -d ' ' -f 2 file1.txt | sort | uniq -c | sort -rn | manyMoreCommands ...| awk 'NR=FNR{a[$2]=$2}{print $0, a[$1]}}' FS="sep2" file2.txt
示例已简化。在awk命令中,我正在执行循环和更复杂的事情,而不是简单的打印。
我真正需要的是能够使用连接两个文件(意味着AWK依次遍历第一个文件然后遍历第二个文件)但从命令行馈入一个文件时使用的相同机制。 / p>