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