shell多字符匹配(grep命令的且或非)


shell脚本中grep命令用于匹配字符串

假如有2个字符串str1和str2,有一个文件file

如何选出同时含有$str1和$str2字符串的行呢?如何选出含有$str1或$str2的行呢?如何选出不含有$str1且不含有$str2的行呢?

 1 #选出同时含有两个字符串的行
 2 grep "$str1" $file | grep "$str2"
 3 
 4 #选出含有两个中的一个字符串的行
 5 grep -E "$str1|$str2" $file
 6 
 7 #选出两个字符串都不含有的行
 8 grep -v "$str1" $file | grep "$str2"
 9 
10 #选出不含其中一个字符串的行
11 grep -v "$str1|$str2" $file

另外,显示行号,只需要在grep后面加上选项-n即可

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM