php中grep,grep 常用实例

part01

1、找出/proc/meminfo文件中,所有以大写或小写s开头的行,至少三种实现方式

grep '^[Ss]' /proc/meminfo

grep -i '^s' /proc/meminfo

grep -E '^(S|s)' /proc/meminfo

2、显示当前系统上root、centos、或者user1用户的相关信息

grep -E "^(root\>|centos\>|user1\>)" /etc/passwd

3、找出/etc/rc.d/init.d/functions文件中某单词后面跟一个小括号的行grep -E "[_[:alnum:]]+?\(\)" /etc/rc.d/init.d/functions

4、使用echo命令输出一绝对路径,使用grep取出其基名echo /etc/sysconfig/network-scripts/ifcfg-eth0 | grep -Eo "(\

进一步:取出其路径名,类似于对其执行dirname命令的结果echo /etc/sysconfig/network-scripts/ifcfg-eth0 | grep -Eo "^/(.*)/"

5、找出ifconfig命令结果中的1-255之间的数值ifconfig | grep -E "\|\|\<1[0-9][0-9]\>|\<2[0-5][0-5]\>"

6、添加用户bash,testbash,basher以及nologin(其shell为/sbin/nolgin);而后找出/etc/passwd文件用户名同shell名的行grep -E "^(\<.>).*(\1)$" /etc/passwd

grep -E "^[^:]+\>" /etc/passwd

grep -Eo "^([^:]+\>).*\1$" /etc/passwd

7、获取ifconfig命令中的IP地址,使用三种方式实现ifconfig  | grep -o '\([0-9]\{1,3\}\.\)\{3\}[0-9]\{1,3\}'

ifconfig | grep -o '\b[0-9]\{1,3\}\b\.\b[0-9]\{1,3\}\b\.\b[0-9]\{1,3\}\b\.\b[0-9]\{1,3\}\b'

ifconfig  | grep -Po '(?<=inet)(.*)(?=net)'

part02

1、只在目录中所有的.php和.html文件中递归搜索字符”main()”grep "main()" . -r --include *.{php,html}

2、在搜索结果中排除所有README文件grep "main()" . -r --exclude "README"

3、在搜索结果中排除filelist文件列表里的文件grep "main()" . -r --exclude-from filelist

4、在多级目录中对文本进行递归搜索grep "string" . -r -n

5、搜索多个文件并查找匹配文本在哪些文件中grep -1 "root" /etc/fstab  /etc/passwd

6、搜索开头不是英文字母的行,并显示行号grep -n '^[^a-zA-Z]' /etc/fstab

7、搜索c后面跟1,2个d,后面再跟一个3的字符串的行grep 'UUID=cd\{1,2\}3' /etc/fstab

8、过滤空行和开始为#开始的行grep -Ev '^#|^$' /etc/fstab

9、 找出/etc/rc.d/rc.sysinit或/etc/grub2.cfg g文件中,以至少一个空白字符开头,且后面存在非空白字符的行grep "^[[:space:]]\+[^[:space:]]" /etc/grub2.cfg

10、列出系统所有系统用户(Centos 7)grep "\" /etc/passwd

11、过滤functions文件中,以单词或者单词前面跟了一个”_“开头的行,并显示前后2行grep -E2 "^[_[:alnum:]]+\\(\\)" /etc/rc.d/init.d/functions

part03

1、显示/etc/rc.d/rc.sysinit中以#开头,且后面跟一个或多个空白字符,而后又跟了任意非空白字符的行grep "^#[[:space:]]\+.\+" /etc/rc.d/rc.sysinit

2、查找/proc/cpuinfo文件中关键字,并显示前后1行grep -C 1 "GenuineIntel" /proc/cpuinfo

3、查找包含至少一个 root关键字 的文件find . -type f -print0| xargs -0 grep -c banana| grep -v ":0$"

4、查找文本中的所有QQ邮箱grep -E "^[1-9]{1}[0-9]{1,10}@qq.com$" mail_list.txt

5、查找default和dev两个关键字grep -e "defaulkt" -e "dev" /etc/fstab

6、查找/etc目录下,所有包含root关键字的文件并显示文件路径及文件名grep -lr "root" /etc/ | xargs ls -l

7、监控日志文档中产生Error的行,并只打印包含Error的行tailf /var/www/logs/error.log  | grep --line-buffered "Error"

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值