我使用awk,并希望将任意数量的文本文件(参数)发送到我的脚本,并为每个输入文件“打印某些东西”。如何知道什么
我发现剧本here
并修改了剧本到这个
awk -v nfiles="10" 'NR==FNR{a[$0]++;next}
$0 in a {a[$0]++; next}
{b[$0]++}
END{
for(i in a){
if(a[i]==nfiles) {
print i > "output1"
}
else if(a[i]==1) {
print i > "output3"
}
}
for(i in b){
if(b[i]==nfiles-1) {
print i > "output2"
}
}
}' "[email protected]"
是什么问题,我在自nfiles="10"
写应该是文本参数的任意号码?
而且我挺不理解这个脚本,它仅执行本节
else if(a[i]==1) {
print i > "output3"
}
只打印出从FILE1.TXT的信息。为什么它不执行其他操作?如果我想将所有文件的第3行($3
)中的所有内容都打印到output3
? 感谢=)