linux grep搜索命令的使用方法

2020-01-30 11:14:21王振洲

 a013386
 b044525
 m8987131
 B081016
 M45678
 B103303
 BADc2345

 # more size.txt | grep 'b' 单个字符;如[A] 即A符合要求
b124230
 b034325
 b103303
 b044525
 # more size.txt | grep '[bB]'
 b124230
 b034325
 b103303
 b044525
 B081016
 B103303
 BADc2345

 # grep 'root' /etc/group
 root::0:root
 bin::2:root,bin,daemon
 sys::3:root,bin,sys,adm
 adm::4:root,adm,daemon
 uucp::5:root,uucp
 mail::6:root
 tty::7:root,tty,adm
 lp::8:root,lp,adm
 nuucp::9:root,nuucp
 daemon::12:root,daemon

 # grep '^root' /etc/group 匹配正则表达式的开始行
root::0:root

 # grep 'uucp' /etc/group
 uucp::5:root,uucp
 nuucp::9:root,nuucp

 # grep '<uucp' /etc/group
 uucp::5:root,uucp

 # grep 'root$' /etc/group 匹配正则表达式的结束行
root::0:root
 mail::6:root

 # more size.txt | grep -i 'b1..*3' -i :忽略大小写

b124230
 b103303
 B103303

 # more size.txt | grep -iv 'b1..*3' -v :查找不包含匹配项的行

b034325
 a081016
 m7187998
 m7282064
 a022021
 a061048
 m9324822
 a013386
 b044525
 m8987131
 B081016
 M45678
 BADc2345

 # more size.txt | grep -in 'b1..*3'
 1:b124230
 9:b103303
 15:B103303

 # grep '$' /etc/init.d/nfs.server | wc -l
 128
 # grep '$' /etc/init.d/nfs.server | wc –l 忽略正则表达式中特殊字符的原有含义

15
 # grep '$' /etc/init.d/nfs.server
 case "$1" in
 >/tmp/sharetab.$$
 [ "x$fstype" != xnfs ] &&
 echo "$patht$rest$fstypet$optst$desc"
 >>/tmp/sharetab.$$
 /usr/bin/touch -r /etc/dfs/sharetab /tmp/sharetab.$$
 /usr/bin/mv -f /tmp/sharetab.$$ /etc/dfs/sharetab
 if [ -f /etc/dfs/dfstab ] && /usr/bin/egrep -v '^[ ]*(#|$)'
 if [ $startnfsd -eq 0 -a -f /etc/rmmount.conf ] &&
 if [ $startnfsd -ne 0 ]; then
 elif [ ! -n "$_INIT_RUN_LEVEL" ]; then
 while [ $wtime -gt 0 ]; do
 wtime=`expr $wtime - 1`
 if [ $wtime -eq 0 ]; then
 echo "Usage: $0 { start | stop }"

 # more size.txt

 the test file
 their are files
 The end

 # grep 'the' size.txt
 the test file
 their are files

 # grep '<the' size.txt
 the test file