首页 > 代码库 > linux搜索过滤--grep
linux搜索过滤--grep
grep在服务端查询消息时经常会被使用到,这里总结几个常用,简单的命令,熟练掌握可以使查询更为高效。
基本格式:
grep [option] pattern file
几个重要的命令参数,这里不列举全部,只列举可能会常用的,便于快速查询:
除了不加任何参数表示搜索符合之后的样式的内容之外,剩下的参数:
-v --revert-match #显示不包含匹配文本的所有行。 -i --ignore-case #忽略字符大小写的差别。 -n --line-number #在显示符合样式的那一行之前,标示出该行的列数编号。 -c --count #计算符合样式的列数。
举例:
[xxx@application01 yyy]$ grep -c ‘mongo‘ nohup.out grep: nohup.out: Permission denied [xxx@application01 yyy]$ sudo grep -c ‘mongo‘ nohup.out 10633 [xxx@application01 yyy]$ sudo grep -v ‘not‘ stop.sh #!/bin/sh PROCESS=`ps -ef|grep zzz|grep -v grep|grep -v PPID|awk ‘{ print $2}‘` num=`ps -ef|grep zzz|grep -v grep|wc -l` for i in $PROCESS do echo "Kill the consumer process [ $i ]" kill -9 $i done echo "$num processes be killed" [xxx@application01 yyy]$ sudo grep -i ppid stop.sh PROCESS=`ps -ef|grep zzz|grep -v grep|grep -v PPID|awk ‘{ print $2}‘` [xxx@application01 yyy]$ sudo grep -n -i ppid stop.sh 2:PROCESS=`ps -ef|grep zzz|grep -v grep|grep -v PPID|awk ‘{ print $2}‘`
如果将grep与正则表达式结合,可以使得该工具变得更加强大,这里记录几个常用的正则表达式,可以和grep参数配合使用:
\< #锚定单词的开始 如:‘\<grep‘匹配包含以grep开头的单词的行。 \> #锚定单词的结束 如‘grep\>‘匹配包含以grep结尾的单词的行 ^ #锚定行的开始 如:‘^grep‘匹配所有以grep开头的行。 $ #锚定行的结束 如:‘grep$‘匹配所有以grep结尾的行。
[] #匹配一个指定范围内的字符
如‘[Gg]rep‘匹配Grep和gre
举例:
[xxx@application01 yyy]$ sudo grep -n ‘\<grep‘ stop.sh 2:PROCESS=`ps -ef|grep zzz|grep -v grep|grep -v PPID|awk ‘{ print $2}‘` 3:num=`ps -ef|grep zzz|grep -v grep|wc -l` [xxx@application01 yyy]$ sudo grep -n ‘^e‘ stop.sh 9:echo "$num processes be killed" [xxx@application01 yyy]$ sudo grep -n ‘i$‘ stop.sh 7: kill -9 $i [xxx@application01 yyy]$ sudo grep -n [Gg]rep stop.sh 2:PROCESS=`ps -ef|grep zzz|grep -v grep|grep -v PPID|awk ‘{ print $2}‘` 3:num=`ps -ef|grep zzz|grep -v grep|wc -l`
最后,如果需要将查询内容输出到文本中就可以:
[xxx@application01 yyy]$ ll total 59976 -rwxrwxrwx 1 root root 0 Oct 19 17:20 1.txt drwxr-xr-x 2 root root 4096 May 31 20:46 lib -rw-r--r-- 1 root root 39936 Jul 18 15:30 zzz.jar -rw-r--r-- 1 root root 39792 Jun 3 14:38 zzz.jar.20160714 -rw-r--r-- 1 root root 39835 Jul 14 09:31 zzz.jar.20160718 -rw------- 1 root root 61218369 Oct 19 17:20 nohup.out -rw-r--r-- 1 root root 275 Jun 1 15:05 stop.sh [xxx@application01 yyy]$ sudo grep ‘mongo‘ nohup.out >1.txt [xxx@application01 yyy]$ ll total 61184 -rwxrwxrwx 1 root root 1159937 Oct 19 17:20 1.txt drwxr-xr-x 2 root root 4096 May 31 20:46 lib -rw-r--r-- 1 root root 39936 Jul 18 15:30 zzz.jar -rw-r--r-- 1 root root 39792 Jun 3 14:38 zzz.jar.20160714 -rw-r--r-- 1 root root 39835 Jul 14 09:31 zzz.jar.20160718 -rw------- 1 root root 61286858 Oct 19 17:20 nohup.out -rw-r--r-- 1 root root 275 Jun 1 15:05 stop.sh
linux搜索过滤--grep
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。