我想阅读像这样的文件
1.23213213
0.12321321
-1.12321321
0.23232322
到变量或数组中以在主{}代码中的某处使用它。 但如果此文件存在,我想使用它。如何检查它是否已经存在,如果不存在,那么不要使用该变量或数组?
答案 0 :(得分:2)
我完全不了解你想要达到的目标,但也许这样的事情对你有用:
它逐行处理文件并将每个文件保存在一个数组中,键是行号,以便您保持顺序。在END
部分中,检查处理了多少行,并获取文件是否包含内容。
awk '{ line[ FNR ] = $0 } END { if ( FNR > 0 ) { print "File" } else { print "NO file" } }' infile
编辑发表评论:
但在awk
中,您可以从命令行处理许多文件。
BEGIN {
...
}
## Processing of first file in command line.
FNR == NR {
a[ FNR ] = $0
next
}
## Processing of second file in command line
FNR < NR {
## Check if array 'a' has the values you want and use them
## 'for(...)variable += a[i]' or whatever.
}
运行脚本如:
awk -f script.awk first_file.txt second_file.txt
但如果first_file.txt
不存在,awk会抱怨错误。