私はawkを使っていて、スクリプトに任意の数のテキストファイル(引数)を入れて、それぞれの入力ファイル "print something"に対して送信したいと思っています。どのように知っているか
私は、スクリプトhere
発見し、テキスト任意の数の引数であるはず私はその以来nfiles="10"
に何を書くのです。この
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]"
問題にスクリプトを変更しましたか?
また、私は非常にこのスクリプトを理解していない、それだけで、このセクション
else if(a[i]==1) {
print i > "output3"
}
そしてだけFILE1.TXTからの情報をプリントアウトを実行します。なぜ残りの部分を実行しないのですか?すべてのファイルから行3($3
)のすべてをoutput3
に印刷したいのですが?あなたがの3行目を印刷したい場合は
awk '{ print $3 }' file1 [file2 .. filen] > output3
: 感謝=)