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

Bash脚本(Cygwin)为多个短语grep一个日志文件,并为每个短语输出一个新文件,cygwin,grep,Cygwin,Grep,每个日志文件的标题基于其创建日期,格式为YYYY-MM-DD.txt。我需要在每个文件中搜索五个不同的关键字,并输出五个带有特定关键字的文件,然后是原始日志文件名。示例:Test-yyy-MM-DD.txt grep-i-w'keyword1'YYYY-MM-DD.txt>keyword1-yyy-MM-DD.txt 如果还可以将每个新文件通过电子邮件发送给不同的人,那也会很有帮助 for file in *txt do if [ -f "$file" ];then awk '/ke

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

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

如果还可以将每个新文件通过电子邮件发送给不同的人,那也会很有帮助

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个关键字