grep DEMO
测试数据:
[xiluhua@vm-xiluhua][~]$ cat msn.txt aaa bbb bbb ccc ccc ddd bbb eee aaa ccc bbb sss [xiluhua@vm-xiluhua][~]$ cat msn.bk AAA BBB BBB CCC CCC DDD BBB EEE AAA CCC BBB SSS [xiluhua@vm-xiluhua][~]$ cat msn3.bk AAA BBB BBB CCC CCC DDD BBB EEE AAA CCC BBB SSS
-i选项,不分大小写;-r选项,递归匹配;递归匹配当前目录下的包含"AAA BBB"的文件:
[xiluhua@vm-xiluhua][~]$ grep -nri "AAA BBB" . ./msn.txt:1:aaa bbb ./msn3.bk:1:AAA BBB ./msn.bk:1:AAA BBB ./bk/msn.bk:1:AAA BBB
-l选项,递归匹配当前目录下包含"AAA BBB"的文件的文件名:
[xiluhua@vm-xiluhua][~]$ grep -rl "AAA BBB" . ./msn3.bk ./msn.bk ./bk/msn.bk
-n选项,显示行号,查找文件/etc/passwd中帐号xiluhua的信息:
[xiluhua@vm-xiluhua][~]$ grep -n "xiluhua" /etc/passwd 52:xiluhua:x:1000:1000:xiluhua:/home/xiluhua:/bin/bash
-c选项,报告文件中模式被匹配到的次数:
[xiluhua@vm-xiluhua][~]$ grep -c "aaa" msn.txt 2
-e选型,或(or)的方式匹配多个字串
例如:grep –nE 'god|good' msn.txt 匹配god或者good。
[xiluhua@vm-xiluhua][~]$ ps -aux | grep -E 'USER|mem' | grep -v 'grep'
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
xiluhua 10375 0.0 0.0 317024 0 ? Ssl 9月07 0:20 memcached -d -p 11211 -m 128
^字符,匹配以字符开头的行:
root@MiWiFi-R3-srv ~ $ grep '^k' anaconda-ks.cfg keyboard --vckeymap=us --xlayouts='us' kexec-tools
字符$,匹配以字符结尾的行:
root@MiWiFi-R3-srv ~ $ grep 'tools$' anaconda-ks.cfg kexec-tools