精華 Grep 用法

2021-05-21 20:12:38 字數 3053 閱讀 4160

grep : g (globally) search for a re (regular expression ) and p (print ) the results.

1、引數:

-i :忽略大小寫

-c :列印匹配的行數

-l :從多個檔案中查詢包含匹配項

-v :查詢不包含匹配項的行

-n:列印包含匹配項的行和行標

2、re(正規表示式)

/ 忽略正規表示式中特殊字元的原有含義

^ 匹配正規表示式的開始行

$ 匹配正規表示式的結束行

/< 從匹配正規表示式的行開始

/>; 到匹配正規表示式的行結束

[ ] 單個字元;如[a] 即a符合要求

[ - ] 範圍 ;如[a-z]即a,b,c一直到z都符合要求

. 所有的單個字元

* 所有字元,長度可以為0

3、舉例

# ps -ef | grep in.telnetd

root 19955 181 0 13:43:53 ? 0:00 in.telnetd

# more size.txt size檔案的內容

b124230

b034325

a081016

m7187998

m7282064

a022021

a061048

m9324822

b103303

a013386

b044525

m8987131

b081016

m45678

b103303

badc2345

# more size.txt | grep '[a-b]' 範圍 ;如[a-z]即a,b,c一直到z都符合要求

b124230

b034325

a081016

a022021

a061048

b103303

a013386

b044525

# more size.txt | grep '[a-b]'*

b124230

b034325

a081016

m7187998

m7282064

a022021

a061048

m9324822

b103303

a013386

b044525

m8987131

b081016

m45678

b103303

badc2345

# more size.txt | grep '' 單個字元;如[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 '/;/tmp/sharetab.$$

[ "x$fstype" != xnfs ] && /

echo "$path/t$res/t$fstype/t$opts/t$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 "

# more size.txt

the test file

their are files

the end

# grep 'the' size.txt

the test file

their are files

# grep '/;' size.txt

the test file

# grep '/;' size.txt

the test file

# grep '/<[tt]he/>;' size.txt

the test file

the end

grep 詳細用法

grep命令是unix中用於文字搜尋的大師級工具。搜到結果。如在檔案中搜尋乙個單詞 grep match pattern filename 或者 grep match pattern filename 也可以像下面這樣從stdin中讀取 echo e this is a word nnextline...

grep用法小結

基本用法 grep c user file1 file2 只列印檔案中匹配的行數 grep n user file1 file2 列印檔案中匹配的內容並顯示行號 grep vc user file1 file2 列印出file1和file2不包含user的行數 grep i user file1 f...

grep用法總結

grep,egrep,fgrep grep 根據模式搜尋文字,並將符合模式的文字行顯示出來 pattern 文字字元和正則表達的元字元組合而成匹配條件。grep options pattern file.i 忽略大小寫 colour v 顯示沒有被模式匹配到的行 o 只顯示被模式匹配到的字串 e 來...