linux 系統 grep 命令

2022-06-08 20:57:25 字數 3518 閱讀 9856

1、利用vim編輯器建立測試檔案

[root@linuxprobe test]# cat a.txt

e d 49

s y k m

2r t s

w d g h

e t k r

2、提取特定行

最簡單的用法,提取包含特定字串的行,例如提取包含字串k的行:

[root@linuxprobe test]# cat a.txt

e d 49

s y k m

2r t s

w d g h

e t k r

[root@linuxprobe test]# grep 'k

'a.txt

s y k m

e t k r

加-n 引數,在匹配的行前面加上行號,例如提取包含k的行並加上行號:

[root@linuxprobe test]# cat a.txt

e d 49

s y k m

2r t s

w d g h

e t k r

[root@linuxprobe test]# grep -n 'k'

a.txt

2:s y k m

5:e t k r

-v 引數用反向匹配,提取不包含特定字串的行,例如提取不包含k的行:

[root@linuxprobe test]# cat a.txt

e d 49

s y k m

2r t s

w d g h

e t k r

[root@linuxprobe test]# grep -v 'k'

a.txt

e d 49

2r t s

w d g h

加^符號用於提取以特定字元開頭的行,例如提取以e開頭的行:

[root@linuxprobe test]# cat a.txt

e d 49

s y k m

2r t s

w d g h

e t k r

[root@linuxprobe test]# grep '^e

'a.txt

e d 49

e t k r

加$符號用於提取以特定字串結尾的行,例如提取以s結尾的行:

[root@linuxprobe test]# cat a.txt

e d 49

s y k m

2r t s

w d g h

e t k r

[root@linuxprobe test]# grep 's$

'a.txt

2 r t s

加 -i引數用於忽略大小寫:

[root@linuxprobe test]# cat a.txt

e d 49

s y k m

2r t s

w d g h

e t k r

[root@linuxprobe test]# grep 'e

'a.txt

e t k r

[root@linuxprobe test]# grep -i 'e'

a.txt

e d 49

e t k r

加 \< 提取任意字元以特定字元開頭的行,例如提取以f開頭的行:

[root@linuxprobe test]# cat a.txt

e d 49

s fafs k m

2sfr t s

w fdsfd d g h

e trdgt k r

[root@linuxprobe test]# grep '\'

a.txt

s fafs k m

w fdsfd d g h

加 \> 提取任意字元以特定字元結尾的行,例如提取以r結尾的行:

[root@linuxprobe test]# cat a.txt

e d 49

s fafs k m

2sfr t s

w fdsfd d g h

e trdgt k r

[root@linuxprobe test]# grep

'r\>

'a.txt

2sfr t s

e trdgt k r

-c 用於統計包含特定字串的所有行數,(不是重複個數),例如出現s的所有行數:

[root@linuxprobe test]# cat a.txt

e d 49

s fafs k m

2sfr t s

w fdsfd d g h

e trdgt k r

[root@linuxprobe test]# grep -c 's'

a.txt

3

-o引數,用於統計出現特定字串的所有次數,例如出現s的所有次數:

[root@linuxprobe test]# cat a.txt

e d 49

s fafs k m

2sfr t s

w fdsfd d g h

e trdgt k r

[root@linuxprobe test]# grep -o 's'

a.txtss

sss[root@linuxprobe test]# grep -o '

s' a.txt | wc -l

5

-w用於精確匹配,例如提取含有ab的行:

[root@linuxprobe test]# cat a.txt

e d 49

s abcde k m

2ab t s

w abxy d g

e tr k r

[root@linuxprobe test]# grep 'ab

'a.txt

s abcde k m

2ab t s

w abxy d g

[root@linuxprobe test]# grep -w 'ab'

a.txt

2 ab t s

-e引數,用於同時提取包含乙個字串以上的行,例如同時提取包含k和包含t的行:

[root@linuxprobe test]# cat a.txt

y d 49

s e k m

2b t s

w a d g

e t k r

[root@linuxprobe test]# grep -e '

k|t'

a.txt

s e k m

2b t s

e t k r

Linux系統grep命令簡介

root x 0 0 root root bin bash operator x 11 0 operator root sbin nologin將 etc passwd,有出現 root 的行取出來,同時顯示這些行在 etc passwd的行號 pingguo localhost work grep...

linux系統grep命令用法詳解(二)

1.作用 linux系統中grep命令是一種強大的文字搜尋工具,它能使用正規表示式搜尋文字,並把匹 配的行列印出來。grep全稱是global regular expr ession print,表示全域性正規表示式版本,它的使用許可權是所有使用者。2.格式 grep options 3.主要引數 ...

Linux系統中grep等命令詳解

檢視檔案的行數 在 linux 系統中沒有在 windows 系統中那麼方便的點點滑鼠就可以操作檔案了,對檔案的各種操作都必須使用各種命令來完成。比如有時候我們需要在不檢視檔案內容的情況下需要知道該檔案有多少行。這個時候可以通過 linux 的 wc 命令完成我們的想法。下面具體介紹一下 wc 命令...