3 つの異なるテキスト ファイルに保存されている次の情報を読み込んだとします (さらに多くの場合があります)。
ファイル 1
1 2 rt 45
2 3 er 44
ファイル 2
rf r 4 5
3 er 4 t
er t yu 4
ファイル 3
er tyu 3er 3r
der 4r 5e
edr rty tyu 4r
edr 5t yt5 45
この情報を読み取るときに、これらの2つのファイルからこの情報を別々の配列に出力したいのですが、今のところそれらは同時に出力されます
これで、このスクリプトですべての情報を同時に出力できます
{
TESTd[NR-1] = $2; g++
}
END {
for (i = 0 ; i <= g-1; i ++ ) {
print " [\"" TESTd[i] "\"]"
}
print " _____"
}
しかし、複数のファイルを読み込んで、すべてのテキスト ファイルに対してこれを行う方法はありますか? awk -f test.awk 1.txt 2.txt 3.txtを実行するときにこの出力を取得する代わりに
["2"]
["3"]
["r"]
["er"]
["t"]
["tyu"]
["4r"]
["rty"]
["5t"]
_____
私はこの出力を得る
["2"]
["3"]
_____
["r"]
["er"]
["t"]
_____
["tyu"]
["4r"]
["rty"]
["5t"]
_____
また、30 ほどのテキスト ファイルがあるため、一度に各ファイルを読み込むことはできません。
編集_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ __ _ _ _ _ _ _ _ _ _
このようなことをするつもりなので、可能であればawkでこれをやりたいです
{
PRINTONCE[NR-1] = $2; g++
PRINTONEATTIME[NR-1] = $3
}
END {
#Do this for all arguments once
for (i = 0 ; i <= g-1; i ++ ) {
print " [\"" PRINTONCE[i] "\"] \n"
}
print " _____"
#Do this for loop for every .txt file that is read in as an argument
#for(j=0;j<args.length;j++){
for (i = 0 ; i <= g-1; i ++ ) {
print " [\"" PRINTONEATTIME[i] "\"] \n"
}
print " _____"
}