排除空行和#开头的行(grep -E 扩展正归表达式)
cat x.xx | grep -Ev "^$|#"
过滤多个条件,或的关系
ps aux | grep 'httpd\|nginx'
ps aux | grep -E "httpd|nginx"
排除以#开头的行
cat x.xx | grep -v ^#
查看file1中空行的行号
grep -n ^$ file1
需要严格匹配,如筛选abc,不需要abcd,abcde,则使用-w –word-regexp
grep -w "abc"
或者
grep "\<abc\>"
管道加grep -i不区分大小写匹配
lspci | grep -i ether 04:00.2 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller (rev 0a)
直接取出当前目录文件中含有conf的行
grep -R 'conf' .
grep 打印出前面before,后面after,周边around的几行
cat file | grep -A 1 aaa cat file | grep -B 1 aaa cat file | grep -C 1 aaa
高亮显示 grep 出来的字符
cat aaaa | grep --color aaaa
去掉指定的几个 pattern
grep -v -e "pattern1" -e "pattern2" grep -Ev "pattern1|pattern2"
对过滤的结果计数(行数)
grep -c 'aaaa' filename
当前目录找到有某些字符的行及文件
grep -rn 'bbs' .
当前目录找到有某些字符的文件
grep -rl 'bbs' .
只输出匹配到的文字
不输出文件名
grep -h 'my_variable' /data/code/*
例:把所有子域名打印出来
cat domain.txt | grep -Eo '(\w+.)+jpuyy.com'
grep 所有 ip 地址
grep -roE '([0-9]{1,3}\.){3}[0-9]{1,3}' .
grep 所有的 ip 网段
grep -roE '([0-9]{1,3}\.){3}[0-9]{1,3}\/[0-9]{1,2}' .
grep 包含中文的文件
grep -rl '[\u4e00-\u9fa5]' .
Leave a Reply