在目录中的某个类型的每个文件上运行awk脚本

时间:2015-07-03 17:24:50

标签: file awk directory

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

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

这很好用。我在网上浏览了几个小时,我似乎无法找到一个合适的方法让它在目录中的所有.log文件上运行。任何比我聪明的人的帮助都会受到赞赏。

2 个答案:

答案 0 :(得分:1)

一些技巧:

如果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

答案 1 :(得分:0)

为了这个目的,

bash有for循环

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

您可以将处理中的文件称为$f