运行 目录中特定类型的每个文件的 awk 脚本

Run an awk script on every file of a certain type in a directory

我有一个包含数百个 .log 文件的目录,我有一个脚本可以从中提取一些信息并将其打印到现有文件中。 运行 它在一个文件上是这样的

awk -f HLGcheck.sh 1-1-1.log >> outputs.txt

这很好用。我在网上四处寻找了几个小时,但我似乎无法找到一种合适的方式将它 运行 放在目录中的所有 .log 文件上。任何比我聪明的人的帮助将不胜感激。

bash 有用于此目的的 for 循环

$ for f in *.log; do your_processing_here; done

您可以将正在处理的文件引用为$f

一些技巧:

如果 awk 脚本一次只能处理一个文件,请使用所示的 for 循环或

find . -name '*.log' -exec awk -f HLGcheck.sh '{}' \; >> outputs.txt

如果 awk 脚本可以处理多个文件:

awk -f HLGcheck.sh *.log >> outputs.txt
find . -name '*.log' -exec awk -f HLGcheck.sh '{}' \+ >> outputs.txt