假设我读到了存储在三个不同文本文件中的以下信息(可以更多)
文件 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
当我读入此信息时,我希望它将这两个文件中的此信息打印到单独的数组中,因为现在它们会同时打印出来
现在我有这个脚本同时打印出所有信息
{
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 " _____"
}