Bash脚本(Cygwin)为多个短语grep日志文件并为每个短语输出一个新文件

时间:2010-04-22 05:21:37

标签: cygwin grep

每个日志文件的标题都是基于它以YYYY-MM-DD.txt格式创建的日期。我需要在每个文件中搜索五个不同的关键字,并输出前面带有特定关键字的五个文件,然后输出原始日志文件名。示例:Test-YYYY-MM-DD.txt

grep -i -w 'keyword1' YYYY-MM-DD.txt > Keyword1-YYYY-MM-DD.txt

如果还可以将每个新文件通过电子邮件发送给其他人,那也会有所帮助。

1 个答案:

答案 0 :(得分:0)

for file in *txt
do
  if [ -f "$file" ];then
    awk '/keyword1/{print $0 > "keyword1-"FILENAME}
    /keyword2/{print $0 > "keyword2-"FILENAME}
    /keyword3/{print $0 > "keyword3-"FILENAME} ' "$file"
  fi
done

请注意,上述内容并未检查所有5个关键字是否存在。