shell提取文件中满足条件的行

我有n个文件,但是文件的名称都是router.log.*
我想从这些文件中提取特定的行,这些行里面必须同时包括三个制定的字符串"A1","A2","A3"
请问用shell如何实现

for myFile in router.log.*
do
      echo "${myFile}: ==============================="
      awk '/A1/&&/A2/&&/A3/{print}' $myFile
done

对A1,A2,A3在行中的出现顺序没有特殊要求。

 

注意:若A1,A2,A3中包含正则表达式中的特殊符号,如 /, *, ., + 等,要在这些特殊符号前使用转义符\。

追问

兄弟,太感谢了。我先去试试哈。先谢谢你。

温馨提示:答案为网友推荐,仅供参考
相似回答