码迷,mamicode.com
首页 > 其他好文 > 详细

grep

时间:2017-09-25 13:17:12      阅读:115      评论:0      收藏:0      [点我收藏+]

标签:查看   grep   cat   shel   取反   正则表达式   自己   关键字   基本正则表达式   

 
grep:文本搜索工具
根据用户给出的"模式",搜索出自己需要的信息
 
[root@bjgwzd.com hadoop]# grep "centos" /etc/passwd
grep  选项   "模式"  文件名
      —color 关键字标记颜色
      -v    取反操作
 
基本正则表达式:
元字符:
    .   任意单个字符
    []  集合中的单个字符
        [[:digit:]]  [0-9]
                     [a-z]
                     [A-Z]
                     [a-zA-Z]
                     [0-9a-zA-Z]
        [[:space:]]
        [[:punct:]]
    [^] 集合外的任意单个字符
 
匹配次数:
    * 匹配其前面字符任意次:0,1,。。。
        grep "[a-z]*y"
        xy  xxy   xxxy  y
    \? 匹配其前面字符0,1
            grep "x\?y"
        xy  xxy   xxxy  y
    \+  匹配其前面字符至少1次
    \{m\}  匹配其前面字符至少m次
    \{m,n\}   匹配其前面字符至少m次,最多出现n次
.*  匹配任意长度任意字符
    
位置锚定:
^   行首锚定
$   行尾锚定
^$  空白行  
\<  词首锚定
\>  词尾锚定
\<单词锚定\>
\(\)
 
 
1、显示/proc/meminfo文件中以大写或小写S开头的行;
grep --color "^[Ss]"  /proc/meminfo
2、显示/etc/passwd文件中其默认shell为非/sbin/nologin的用户;
grep  -v --color  "/sbin/nologin$"  /etc/passwd
3、显示/etc/passwd文件中其默认shell为/bin/bash的用户;   
grep  --color  "/bin/bash$"  /etc/passwd
4、找出/etc/passwd文件中的一位数或两位数;
grep --color "\<\([0-9]\|[1-9][0-9]\)\>" /etc/passwd
5、显示/boot/grub/grub.conf中以至少一个空白字符开头的行;
grep --color "^[[:space:]]\+" /boot/grub/grub.conf
6、显示/etc/rc.d/rc.sysinit文件中,以#开头,后面跟至少一个空白字符,而后又有至少一个非空白字符的行;
grep --color "^#[[:space:]]\+[^[:space:]]\+"  /etc/rc.d/rc.sysinit
7、找出netstat -tan命令执行结果中以‘LISTEN‘(后可有空白字符)结尾的行;
8、添加用户bash, testbash, basher, nologin(SHELL为/sbin/nologin),而找出当前系统上其用户名和默认shell相同的用户;
 
 
e.g.:tomcat查看日志
tail -f logs/catalina.out  | grep --color=auto -C 10 -w "login" 

grep

标签:查看   grep   cat   shel   取反   正则表达式   自己   关键字   基本正则表达式   

原文地址:http://www.cnblogs.com/756623607-zhang/p/7591035.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!