Awk 如何写入输入文件的文件名?
我想打印70个文件中第一列第一行的文件名和编号。如何编写输入文件?它们的名称是hbe%05d.asc:Awk 如何写入输入文件的文件名?,awk,Awk,我想打印70个文件中第一列第一行的文件名和编号。如何编写输入文件?它们的名称是hbe%05d.asc: hbe00001.asc hbe00002.asc .... hbe00069.asc hbe00070.asc 我试过了,但它错了: awk 'NR==1{print FILENAME, $1}' hbe000[01-70].asc > max NR(记录数)是一个单调递增的计数器,而FNR(当前文件中的记录数)是一个在每个文件的第一行重置回1的计数器: awk 'FNR==1{p
hbe00001.asc
hbe00002.asc
....
hbe00069.asc
hbe00070.asc
我试过了,但它错了:
awk 'NR==1{print FILENAME, $1}' hbe000[01-70].asc > max
NR
(记录数)是一个单调递增的计数器,而FNR
(当前文件中的记录数)是一个在每个文件的第一行重置回1的计数器:
awk 'FNR==1{print FILENAME, $1}' hbe000{01..70}.asc > max
在bash中,
{01..70}
扩展到序列01,02,…,70。谢谢,文件名太错误:awk:fatal:无法打开文件
hbe000[01-70].asc'用于读取(没有这样的文件或目录)`谢谢,如何打印最后一行和第一列的数字awk'END{print FILENAME,$1}'hbe000{01..70}.asc>min
-此命令仅给出最后一个文件的结果。使用GNU awk,您可以使用ENDFILE
而不是END
。