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中包含正则表达式中的特殊符号,如 /, *, ., + 等,要在这些特殊符号前使用转义符\。

追问

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

温馨提示:内容为网友见解,仅供参考
无其他回答

shell提取文件中满足条件的行
for myFile in router.log.*do echo "${myFile}: ===" awk '\/A1\/&&\/A2\/&&\/A3\/{print}' $myFiledone对A1,A2,A3在行中的出现顺序没有特殊要求。注意:若A1,A2,A3中包含正则表达式中的特殊符号,如 \/, *, ., + 等,要在这些特殊符号前使用转义符\\。

利用shell脚本如何提取一个文件中某一特定行和下面若干行的内容
3、sed-n'开始行,结束行p'data.txt;显示文件X行到Y行的内容:命令:sed-n'10,18p'data.txt。4、head\/tail用法。tail用法:tail经常用来查看文件末尾的数据,在shell中可以获取文本中指定数据行。tail-n-3data.txt获取文件最好3行数据。tail-n+3data.txt获取文件3到最后一行数据。5、head用法...

linux shell中 如何将只含有两列信息的行提取出来
awk -F'\\t' '{ if($3=="")print$0}'如果间隔符不是制表符,可以删除-F'\\t'

通过shell命令截取txt文件中特定的范围的字符串?
my_str="We;welcome;you;on;javatpoint."my_arr=($(echo $my_str | tr "\/""\\n"))for i in "${my_arr[@]}"do echo $i done

Linux shell 读取文本中某几行数据并输出成新文件
for file in `ls abc*.xml`;do sed -n -e '1,10p' -e '50,60p' $file > ${file}_new;done

Shell编程-字符截取命令
Shell编程中的字符截取和格式输出命令是数据处理中的重要工具。首先,让我们理解cut命令,它通过-f选项提取文件中的指定列,如指定第几列,或使用-d选项以特定分隔符分割列。例如,创建一个文件演示其用法,注意空格是Tab键。cut命令常与grep配合使用,但遇到复杂间隔时,awk命令更适用,尤其是在处理多...

shell 检索某文件中包含指定字段的行数
我告诉你命令,你自己写 sed -n “5,10p” file ==>指定从第5行到第十行 egrep "\\<abc\\>" file ==>在file中查找abc这个单词(指定的字段)

shell脚本 逐行读取文件并修正某一列符合判断条件的字段
shell用于命令组织,awk操作文件 awk '{if($3=="03")$3="col03"; print}'

编写shell脚本实现提取文件中的第1000-2000行数据
for((i=1000;i<=2000;i++))do x=${i}"p"cat f1|sed -n "$x" >>f2 done cat f2 这里默认认为一条数据一行,从文件f1的第1000行开始逐行读取然后写到新的文件f2中

linux shell 如何读取文件特定位置的数据?
题主你好,测试所用的文本文件t1内容如下:根据行列读取字段:=== 希望可以帮到题主, 欢迎追问.

相似回答