grep
1 -c # 显示匹配到得行的数目,不显示内容 2 -h # 不显示文件名 3 -i # 忽略大小写 4 -l # 只列出匹配行所在文件的文件名 5 -n # 在每一行中加上相对行号 6 -s # 无声操作只显示报错,检查退出状态 7 -v # 反向查找 8 -e # 使用正则表达式 9 -A3 # 打印匹配行和下三行 10 -w # 精确匹配 11 -wc # 精确匹配次数 12 -o # 查询所有匹配字段 13 -P # 使用perl正则表达式 14 15 grep -v "a" txt # 过滤关键字符行 16 grep -w 'a\>' txt # 精确匹配字符串 17 grep -i "a" txt # 大小写敏感 18 grep "a[bB]" txt # 同时匹配大小写 19 grep '[0-9]\{3\}' txt # 查找0-9重复三次的所在行 20 grep -E "word1|word2|word3" file # 任意条件匹配 21 grep word1 file | grep word2 |grep word3 # 同时匹配三个 22 echo quan@163.com |grep -Po '(?<=@.).*(?=.$)' # 零宽断言截取字符串 # 63.co 23 echo "I'm singing while you're dancing" |grep -Po '\b\w+(?=ing\b)' # 零宽断言匹配 24 echo 'Rx Optical Power: -5.01dBm, Tx Optical Power: -2.41dBm' |grep -Po '(?<=:).*?(?=d)' # 取出d前面数字 # ?为最小匹配 25 echo 'Rx Optical Power: -5.01dBm, Tx Optical Power: -2.41dBm' | grep -Po '[-0-9.]+' # 取出d前面数字 # ?为最小匹配 26 echo '["mem",ok],["hardware",false],["filesystem",false]' |grep -Po '[^"]+(?=",false)' # 取出false前面的字母 27 echo '["mem",ok],["hardware",false],["filesystem",false]' |grep -Po '\w+",false'|grep -Po '^\w+' # 取出false前面的字母
grep用于if判断
1 if echo abc | grep "a" > /dev/null 2>&1 2 then 3 echo "abc" 4 else 5 echo "null" 6 fi