尾部多个文件和文件中的输入搜索词,使用文件名搜索的输出项

时间:2019-04-16 19:29:01

标签: bash loops grep tail

目前可以正常运行,要添加以下功能: 从mygrepitemslist.txt(逐行)管道搜索项,而不是我明确声明error1和error2(如果搜索中可以包含空格,则奖励)

换句话说,要读取文件mygrepitemslist.txt 并通过此代码示例传递到grep

而不是下面的代码: grep“ error1 \ | error2”

mygrepitemslist.txt具有: 错误1 错误 error3与空格 错误4,带有多个空格

想使用我拥有的东西主要是因为我将它用于其他用途并且很熟悉,只是停留在如何从文件中输入grep字符串然后输出与文件名匹配的内容

tail -Fn0 /var/log/*.log | \
while read line ; do
      echo "$line" | \
      grep "error1\|error2" #pipe mygrepitemslist.txt linebyline here?
      if [ $? = 0 ]
      then
              echo "$line" #how to show error + filename here?
      fi
      done

总体结果是:

想要尾部/跟随多个文件

搜索从名为mygrepitemslist.txt的文件中读取的字符串,每行是搜索项

输出为: 匹配文件名的错误搜索

1 个答案:

答案 0 :(得分:0)

您可以使用-f选项指定带有模式的文件
tail -Fn0 /var/log/*.log | grep -of mygrepitemslist.txt