grep 在文本中检索字符串(单个文本和多个文本
grep
wxc@wxc-Lenovo-G40-30:/$ grep zcv /home/wxc/linuxEdit
zcvveve
rfrgvzcv
wxc@wxc-Lenovo-G40-30:/$ grep zcv /home/wxc/linuxEdit /home/wxc/22
/home/wxc/linuxEdit:zcvveve
/home/wxc/linuxEdit:rfrgvzcv
/home/wxc/22:zcvwferregtr
/home/wxc/22:zcvwgreg4h
/home/wxc/22:frgrgzcv
grep通过文本中的字符串检索正确的目录
grep -l ***
wxc@wxc-Lenovo-G40-30:/$ grep -l zcv /home/wxc/linuxEdit /home/wxc/22 /home/wxc/GitSSH/123
/home/wxc/linuxEdit
/home/wxc/22
/home/wxc/GitSSH/123
wxc@wxc-Lenovo-G40-30:/$ grep -l zcv /home/wxc/linuxEdit /home/wxc/22 /home/wxc/GitSSH/123 /home/wxc/learngit/123
/home/wxc/linuxEdit
/home/wxc/22
/home/wxc/GitSSH/123
grep查找指定文档下所在行号和内容
grep -n
wxc@wxc-Lenovo-G40-30:/$ grep -n zcv /home/wxc/linuxEdit /home/wxc/22 /home/wxc/GitSSH/123 /home/wxc/learngit/123
/home/wxc/linuxEdit:6:zcvveve
/home/wxc/linuxEdit:7:rfrgvzcv
/home/wxc/22:1:zcvwferregtr
/home/wxc/22:2:zcvwgreg4h
/home/wxc/22:5:frgrgzcv
/home/wxc/GitSSH/123:1:zcv法人股高投入噶
/home/wxc/GitSSH/123:3:vergrevegezcv
/home/wxc/GitSSH/123:4:fregr4gt4zcv
grep -v
wxc@wxc-Lenovo-G40-30:/$ grep -v zcv /home/wxc/linuxEdit /home/wxc/22 /home/wxc/GitSSH/123
/home/wxc/linuxEdit:ofwofwfnalsknasaa
/home/wxc/linuxEdit:dasfewfreger
/home/wxc/linuxEdit:safewgrg
/home/wxc/linuxEdit:asddfdsgfg
/home/wxc/linuxEdit:asdfrve
/home/wxc/22:sdfdfref
/home/wxc/22:frrg
/home/wxc/22:
/home/wxc/GitSSH/123:
/home/wxc/GitSSH/123:
grep ^z 匹配所在文件行以z开头的行内容
wxc@wxc-Lenovo-G40-30:/$ grep ^z /home/wxc/linuxEdit /home/wxc/22 /home/wxc/GitSSH/123
/home/wxc/linuxEdit:zcvveve
/home/wxc/22:zcvwferregtr
/home/wxc/22:zcvwgreg4h
/home/wxc/GitSSH/123:zcv法人股高投入噶
grep v$ 表示指定文件中包含以v结尾的行
wxc@wxc-Lenovo-G40-30:/$ grep v$ /home/wxc/22
frgrgzcv
grep -r递归查找包含zcv的行
wxc@wxc-Lenovo-G40-30:/$ grep -r zcv /home/wxc/linuxEdit /home/wxc/22 /home/wxc/GitSSH/123
/home/wxc/linuxEdit:zcvveve
/home/wxc/linuxEdit:rfrgvzcv
/home/wxc/22:zcvwferregtr
/home/wxc/22:zcvwgreg4h
/home/wxc/22:frgrgzcv
/home/wxc/GitSSH/123:zcv法人股高投入噶
/home/wxc/GitSSH/123:vergrevegezcv
/home/wxc/GitSSH/123:fregr4gt4zcv
grep -c 显示有多少行能够匹配
wxc@wxc-Lenovo-G40-30:~$ grep -c zcv /home/wxc/linuxEdit
2
wxc@wxc-Lenovo-G40-30:~$ grep -r zcv /home/wxc/GitSSH
/home/wxc/GitSSH/123:zcv法人股高投入噶
/home/wxc/GitSSH/123:vergrevegezcv
/home/wxc/GitSSH/123:fregr4gt4zcv
wxc@wxc-Lenovo-G40-30:~$
grep ^$ p匹配文件中的空行 有就输出 没有则什么都不输出
wxc@wxc-Lenovo-G40-30:~$ grep ^$ /home/wxc/linuxEdit
wxc@wxc-Lenovo-G40-30:~$ grep ^$ /home/wxc/22
wxc@wxc-Lenovo-G40-30:~$
grep -i 忽略大小写匹配
wxc@wxc-Lenovo-G40-30:~$ grep -i ZCV /home/wxc/linuxEdit
safewgrgzCv
asdfrveZcv
zcvveve
rfrgvzcv
grep -e -e查找多个参数
wxc@wxc-Lenovo-G40-30:~$ grep -e "zcv" -e "a" /home/wxc/linuxEdit
ofwofwfnalsknasaa
dasfewfreger
safewgrgzCv
asddfdsgfg
asdfrveZcv
zcvveve
rfrgvzcv
grep使用正则表达式
wxc@wxc-Lenovo-G40-30:~$ grep '[a-z]\{9\}' /home/wxc/linuxEdit
ofwofwfnalsknasaa
dasfewfreger
safewgrgzCv
asddfdsgfg
wxc@wxc-Lenovo-G40-30:~$ grep 'ZZ*' /home/wxc/linuxEdit
asdfrveZcv
wxc@wxc-Lenovo-G40-30:~$ grep '\<asd' /home/wxc/linuxEdit
asddfdsgfg
asdfrveZcv
grep使用管道
grep统计指定文件中包含某字符串的行数 字数 字节数
wxc@wxc-Lenovo-G40-30:~$ grep 'zcv' /home/wxc/linuxEdit |wc
2 2 17
grep在当前进程中查找vi进程信息
wxc@wxc-Lenovo-G40-30:~$ ps aux |grep vi
root 722 0.0 0.1 277880 8512 ? Ssl 09:22 0:01 /usr/lib/accountsservice/accounts-daemon
wxc 1552 0.0 0.6 701244 51604 ? Ssl 09:23 0:13 /usr/lib/x86_64-linux-gnu/hud/hud-service
wxc 1578 0.1 0.6 761188 52580 ? Ssl 09:23 0:49 /usr/lib/x86_64-linux-gnu/unity/unity-panel-service
wxc 1627 0.0 0.0 178664 4724 ? Sl 09:23 0:01 /usr/lib/dconf/dconf-service
wxc 1663 0.0 2.0 1601964 165220 ? SLl 09:24 0:16 /usr/bin/gnome-software --gapplication-service
wxc 1666 0.0 0.1 403148 12868 ? Sl 09:24 0:08 /usr/lib/x86_64-linux-gnu/indicator-application/indicator-application-service
wxc 1775 0.0 0.0 420256 6612 ? Ssl 09:24 0:00 /usr/lib/x86_64-linux-gnu/indicator-messages/indicator-messages-service
wxc 1776 0.0 0.0 409100 7988 ? Ssl 09:24 0:00 /usr/lib/x86_64-linux-gnu/indicator-bluetooth/indicator-bluetooth-service
grep可作为shell脚本,判断搜索的状态是否成功 无指定目录为2,搜索不成功返回0,搜索成功返回1
wxc@wxc-Lenovo-G40-30:~$ grep 'assd' /home/wxc/linuxEdit
wxc@wxc-Lenovo-G40-30:~$ echo $?
1
wxc@wxc-Lenovo-G40-30:~$ grep 'zcv' /home/wxc/linuxEdit
zcvveve
rfrgvzcv
wxc@wxc-Lenovo-G40-30:~$ echo $?
0
wxc@wxc-Lenovo-G40-30:~$ grep 'assd' /home/wxc/qwe
grep: /home/wxc/qwe: 没有那个文件或目录
wxc@wxc-Lenovo-G40-30:~$ echo $?
2
egrep:执行效率高,占内存大
fgrep:占用空间比egrep大,速度比grep快,处理不了正则
wxc@wxc-Lenovo-G40-30:~$ egrep 'a+' /home/wxc/linuxEdit
ofwofwfnalsknasaa
dasfewfreger
safewgrgzCv
asddfdsgfg
asdfrveZcv