在awk中,从多个文件读取数据是其内置功能之一。你可以在命令行中直接指定这些文件名,awk会按照它们在命令行中出现的顺序依次处理每个文件的内容。以下是一个基本示例:
awk 'commands' file1 file2 file3 ...
在这个例子中,commands
是awk脚本或命令,它会被应用到 file1
、file2
和 file3
等每一个文件的所有行上。
例如,如果你想要统计每个文件中包含单词 "example" 的行数:
awk '/example/ {count++} END{print FILENAME, ":", count}' file1.txt file2.txt file3.txt
这段命令会在每个文件中查找含有 "example" 的行,并在处理完每个文件后输出该文件名及其包含目标字符串的行数。
另外,当awk处理多个文件时,可以使用内置变量来区分不同文件:
FILENAME
:当前正在处理的文件名。FNR
:当前文件中的记录(行)数。NR
:所有文件累计处理过的记录数。
因此,在处理多个文件的过程中,你可以根据不同的文件执行不同的操作或者合并结果。