首頁 php教程 PHP开发 grep 指令詳解及相關事例

grep 指令詳解及相關事例

Dec 13, 2016 pm 02:40 PM
grep

一.匹配字元

.    符合任一字元

[ ]  符合指定範圍內的任一字元

[^]  符合飛指定範圍內的任意字元

:alpha: 字元] 字元[low; :] 小寫字母字元

[:upper:] 大寫字母字元

[:digit:] 數字

[:alnum:] 字母數字字元

[:space:] 空白回車符、換行符、垂直製表符和換頁符

[:punct:] 標點字元

[:cntrl:] 控製字元(禁止列印)

[:print:] 可列印字元

使用時一般使用兩個中括號,具體會在下面的例子中使用。

二.匹配次數

*      任意配對前面的字元

.*    符合任意長度的任意字元(注意貪婪模式,例如  grep  “r.*t” /etc/c/D. }  指定前面的字元至少出現m次,至多出現N次。

x{m,}    指定前面的字元至少出現m次

x{0,n}  指定前面的字元至多出現N次

x{m}    精確匹配m次

x{m}    精確匹配m次

x{m}    精確匹配m次

x{m}    實際匹配m次

?或1次

三.錨定符

1.^  錨定行首    grep  "^r..t"  /etc/passwd

2.$  錨定行尾

3.^$ 錨定空白行  grep  "^$"  /etc/passwd

4.

錨定詞首    grep  "r..t>"  /etc/passwd

範例(容易混淆):

至少包含一個空白字元          grep  "[[space::]{1,}

至少包含一個非空白字元        grep  "[^[:space:]]{1,}"  /etc/passwd

沒有一個空白字元etc/passwd

6.()對字元分組  grep  "(l..e).*1r"

範例:

grep --color "l([13]):1:.*:1"  / etc/inittab

四.選項

-v    對結果取反

-i    忽略字母大小寫

-o   正規表示式

-A n    顯示配對到的行下面n行

-B n    顯示配對到的行上面n行

-C n    顯示配對到的行上方各顯示n行

-C n    顯示配對到的行上各顯示n行

1.找出系統中user1使用者的相關資訊。 (提前建好user11,myuser1)(易錯)

grep "user1"  /etc/passwd    所有包含user1的行

grep ""  /etc/passwd   

grep ""  /etc/passwd    表面可以添加以下用戶,就不會了

useradd  -c  "user1's  uncle"  /etc/passwd  -c  是註釋

grep "^"  /etc/passwd   成功匹配

相關資訊。

grep "^user[0-9]{1,}>"  /etc/passwd

3.分析/etc/inittab 文件如下兩行文本的特徵,編寫可以精確查到的類似兩行的模式,

要求每行的數字必須相同。

l1:1:wait:/etc/rc.d/rc 1

l3:3:wait:/etc/rc.d/rc 3

grep "l([13]):1:.*: .* 1"  inittab

擴展:匹配所有上述特徵:grep "l([0-9]):1:.*:.* 1"  inittab

如果超過10,需要添加最小匹配:grep "l( [0-9]{1,}):1:.*:.* 1"  inittab

4.顯示/proc/meminfo檔案中以不區分大小寫的s開頭的行

grep "^[sS] " /proc/meminfo

5.顯示/etc/passwd中以nologin結尾的行

grep "nologin$" /etc/passwd

6.顯示/etc/inittab中以#開頭,且後面跟著一個或是多個空白字符,而後又跟了任意非空白字符的行

grep "^#[[:space:]]{1,}[^[:space:]]"  /etc/inittab

7.顯示/etc/inittab包含了兩個冒號中間一個數字的行

grep ":[0-9]:" /etc/inittab

8.顯示/boot/grub/grub.conf 檔案中以一個或多個空白字元的行

grep ":[0-9]:" /etc/inittab

9.顯示/etc/inittab檔案中以一個數字開頭並以一個開頭數字相同的數字結尾的行。

grep "^([0-9]).*1$"  /etc/inittab

10.顯示/etc/inittab檔案中非空白的行

grep -v  "^$"  /etc/inittab

11.取出目前網路介面的相關IP位址(不包含127.0.0.1)

ifconfig |grep "inet addr" |grep -v "127.0.0.1"| cut -d: -f2|cut -d" " - f1

ifconfig |grep -A 1 "eth" |grep -o "addr:[0-9.]{1,}"|cut -d: -f2

五.擴充正規表示式

與正規表示式不同之處:

()替換為()

{}替換為{}

+  次數匹配,匹配其前的額字符一次或多次

|  或

示例:

數字為1-255之間的整數

ifconfig|grep --color -E ""


本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

<🎜>:泡泡膠模擬器無窮大 - 如何獲取和使用皇家鑰匙
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
北端:融合系統,解釋
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
Mandragora:巫婆樹的耳語 - 如何解鎖抓鉤
3 週前 By 尊渡假赌尊渡假赌尊渡假赌

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

熱門話題

Java教學
1664
14
CakePHP 教程
1423
52
Laravel 教程
1321
25
PHP教程
1269
29
C# 教程
1249
24
如何在Linux中使用grep指令進行日誌分析? 如何在Linux中使用grep指令進行日誌分析? Jul 29, 2023 pm 02:12 PM

如何在Linux中使用grep指令進行日誌分析?引言:日誌是系統運作過程中產生的重要記錄,對於系統運作維護和故障排查來說,日誌分析是一項不可或缺的工作。在Linux作業系統中,grep指令是一種強大的文字搜尋工具,非常適合用於日誌分析。本文將介紹針對日誌分析常用的grep指令的使用方法,並提供具體的程式碼範例。一、grep指令簡介grep是Linux系統中的一款文

介紹Linux下使用grep指令顯示上下文資訊的方法 介紹Linux下使用grep指令顯示上下文資訊的方法 Jan 04, 2024 pm 04:41 PM

本文研究的主要是Linux下grep显示前后几行信息的相关内容,具体如下。标准unix/linux下的grep通过下面參数控制上下文grep-C5foofile显示file文件里匹配foo字串那行以及上下5行grep-B5foofile显示foo及前5行grep-A5foofile显示foo及后5行查看grep版本号的方法是grep-V假设想升级,升级的方法:最新的源代码(google或者百度搜索主页),编译安装到某个地方,比方/home/aaa/bin/那么以后用的时候就用/home/aaa/

使用grep指令查詢特定首尾檔案內容的方法 使用grep指令查詢特定首尾檔案內容的方法 Jan 09, 2024 am 09:45 AM

LINUX系統中想要查看文件的內容,該怎麼查看指定文件的首尾內容呢?下面我們就來看看使用grep查詢來指定首尾檔案內容的教學。 1.開啟LINUX,這裡我們可以用UBUNTU作業系統。 2.找到左邊工作列的TERMINAL,打開終端機視窗。 3.grep後面加上^,就可以指定某一行的行首。 4.grep後面的內容後面加上$,就可以指定某一行的行尾。 5.^$可以同時使用,指定某一行首尾必須的內容。 6.如果中間有一個字元缺失或不正確,那麼都會查詢不到。 7.配合-i使用就可以無視大小寫的規則。 8.還可以配合-v

grep的正規用法 grep的正規用法 Nov 16, 2023 am 10:29 AM

grep的正規用法有:1、簡單的匹配;2、基本正規表示式;3、元字元的使用;4、錨定字元的使用;5、字元類別的使用;6、量詞的使用。詳細介紹:1、簡單的匹配,使用grep命令後跟隨要匹配的字串;2、基本正則表達式,使用-E選項啟用擴展的正則表達式功能;3、元字符的使用,在正則表達式中,可以使用一些元字元來表示特定的字元或字元集合;4、錨定字元的使用等等。

Linux系統中grep如何使用? Linux系統中grep如何使用? Feb 19, 2024 pm 03:54 PM

在Linux中,grep是一個非常常見和重要的工具,是每個專業維運工程師必須掌握的命令,因為透過它可以快速地查找和過濾文件中的內容,那麼Linux系統中grep如何使用?下面是常見用法介紹,一起來看看吧。  1、基本用法grep指令主要用於在檔案中搜尋指定模式的行。例如,要在檔案file.txt中尋找包含"example"的行,可以使用grep指令來實作。  grep‘example’file.txt  grep將輸出所有包含’example’的行。 

Linux grep指令的語法是什麼 Linux grep指令的語法是什麼 May 14, 2023 pm 10:43 PM

Linuxgrep指令用於尋找檔案裡符合條件的字串。 grep指令用來找出內容包含指定的範本樣式的文件,如果發現某文件的內容符合所指定的範本樣式,預設grep指令會把含有範本樣式的那一列顯示出來。若不指定任何檔案名稱,或所給予的檔案名稱-,則grep指令會從標準輸入裝置讀取資料。語法:grep參數:-a或--text:不要忽略二進位的資料。 -A或--after-context=:除了顯示符合範本樣式的那一列之外,並顯示該行之後的內容。 -b或--byte-offset:在顯示符合樣式的那一行之前

Linux grep指令有什麼作用 Linux grep指令有什麼作用 May 29, 2023 am 08:43 AM

Linuxgrep指令用於尋找檔案裡符合條件的字串。 grep指令用來找出內容包含指定的範本樣式的文件,如果發現某文件的內容符合所指定的範本樣式,預設grep指令會把含有範本樣式的那一列顯示出來。若不指定任何檔案名稱,或所給予的檔案名稱-,則grep指令會從標準輸入裝置讀取資料。語法:grep參數:-a或--text:不要忽略二進位的資料。 -A或--after-context=:除了顯示符合範本樣式的那一列之外,並顯示該行之後的內容。 -b或--byte-offset:在顯示符合樣式的那一行之前

linux中grep的用法是啥 linux中grep的用法是啥 Sep 04, 2023 pm 01:55 PM

linux中grep的用法是用來搜尋符合特定模式的文字行,並輸出符合的行。 grep指令具有多種選項和用法,可根據不同的需求進行靈活的搜尋和匹配操作。常用選項有:1、-i,搜尋時忽略字元的大小寫;2、-n,顯示符合的行號;3、-c,統計匹配的行數;4、-r,遞歸地在指定的目錄下搜尋檔案;5、-l,僅顯示包含匹配項的檔案名稱;6、-v,反向匹配,輸出不包含匹配項的行等等。

See all articles