⑴ linux 命令 grep (文檔編輯)-想玩轉linux就請一直看下去
Linux 命令大全
Linux grep 命令用於查找文件里符合條件的字元串。
grep 指令用於查找內容包含指定的範本樣式的文件,如果發現某文件的內容符合所指定的範本樣式,預設 grep 指令會把含有範本樣式的那一列顯示出來。若不指定任何文件名稱,或是所給予的文件名為 - ,則 grep 指令會從標准輸入設備讀取數據。
參數 :
Linux 命令大全
1、在當前目錄中,查找後綴有 file 字樣的文件中包含 test 字元串的文件,並列印出該字元串的行。此時,可以使用如下命令:
結果如下所示:
2、以遞歸的方式查找符合條件的文件。例如,查找指定目錄/etc/acpi 及其子目錄(如果存在子目錄的話)下所有文件中包含字元串"update"的文件,並列印出該字元串所在行的內容,使用的命令為:
輸出結果如下:
3、反向查找。前面各個例子是查找並列印出符合條件的行,通過"-v"參數可以列印出不符合條件行的內容。
查找文件名中包含 test 的文件中不包含test 的行,此時,使用的命令為:
結果如下所示:
⑵ 如何在Linux下查找文件內容包含某個特定字元串的文件
使用grep可以查找包含指定字元串的文件
格式:
grep 「要查找的字元串」 文件名
例子:
grep "192.168.0.1" /etc
文件名可以使用基本正則表達式(BRE),例如, 查找test目錄下的所有文件,是否包含www.tycode.com字元串。
grep 「www.tycode.com」 /root/zzh/test/*
幾個常用的查詢指令:
1、查找時不區分字元串的大小寫
grep -i 「查找的字元串」 文件名
2、查找時使用正則表達式,匹配符合的字元串
grep -e 「正則表達式」 文件名
3、查找不匹配指定字元串的行:
grep -v 「被查找的字元串」 文件名
4、查找時顯示被查找字元串所在的行數
grep -n 「查找的字元串」 文件名
⑶ Linux下Grep命令的詳細使用方法
在linux中grep命令是非常有用的,它和管道(|)配合使用,非常強大,用於搜索文本文件.如果想要在幾個文本文件中查找一字元串,可以使用『grep』命令。『grep』在文本中搜索指定的字元串。
假設您正在『/usr/src/linux/Documentation』目錄下搜索帶字元串『magic』的文件:
$ grep magic /usr/src/linux/Documentation/*
sysrq.txt:* How do I enable the magic SysRQ key?
sysrq.txt:* How do I use the magic SysRQ key?
其中文件『sysrp.txt』包含該字元串,討論的是 SysRQ 的功能。
默認情況下,『grep』只搜索當前目錄。如果此目錄下有許多子目錄,『grep』會以如下形式列出:
grep: sound: Is a directory
這可能會使『grep』的輸出難於閱讀。這里有兩種解決的辦法:
明確要求搜索子目錄:grep -r
或忽略子目錄:grep -d skip
當然,如果預料到有許多輸出,您可以通過 管道 將其轉到『less』上閱讀:
$ grep magic /usr/指汪src/linux/Documentation/* | less
這樣,您就可以更方便地閱讀。
有一點要注意,您必需提供一個文件過濾方式(搜索全部文件的話用 *)。如果您忘了,『grep』會一直等著,直到該程序被中斷。如果您遇到了這樣的情況,按
下面是一些有意思的命令行參數:
grep -i pattern files :不區分大小寫地搜索。默認情況區分大小寫,
grep -l pattern files :只列出匹配的文件名,
grep -L pattern files :列出不匹配的文件名,
grep -w pattern files :只匹配整個單詞,而不是字元串的一部分(如匹配『magic』,而不是『magical』),
grep -C number pattern files :匹配的上下文分別顯示[number]行,
grep pattern1 | pattern2 files :顯示匹配 pattern1 或 pattern2 的行,
grep pattern1 files | grep pattern2 :顯示既匹配 pattern1 又匹配 pattern2 的行。
這里還有些用於搜索的特殊符號:
\< 和 \> 分別標注單詞的開始與結尾。
例如:
grep man * 會匹配 『Batman』、『manic』、『man』等,
grep '\
'^':指匹配的字元串在行首,
'$':指匹配的字元串在行尾,
如果您不習慣命令行參數,可以試試圖形界雹逗伏面的『grep』,如 reXgrep 。這個軟體提供 AND、OR、NOT 等語法,還有漂亮的按鈕 :-) 。如果您只是需要更清楚的輸出,不妨試試 fungrep 。
⑷ Linux系統中grep命令如何使用常用參數有哪些
進行Linux系統維護的時候,想要在文本中快速搜索到你需要的東西,grep命令是非常不錯的選擇,它主要用於查找文件里符合條件的字元串,從而節省時間、提高工作效率。那麼Linux系統中grep命令如何使用?我們一起來看看詳細的內容介紹。
Linux grep命令用於查找文件里符合條件的字元串。
grep指令用於查找內容包含指定的範本樣式的文件,如果發現某文件的內容符合所指定的範本樣式,預設grep指令會把含有範本樣式的那一列顯示出來。若不指定任何文件名稱,或是所給予的文件名為-,則grep指令會從標准輸入設備讀取數據。
語法
grep
[-abcEFGhHilLnqrsvVwxy][-A<顯示行數>][-B<顯示列數>][-C<顯示列數>][-d<進行動作>][-e<範本樣式>][-f<範本文件>][--help][範本樣式][文件或目錄...]
參數
-a或--text:不要忽略二進制的數據。
-A<顯示行數>或--after-context=<顯示行數>:除了顯示符合範本樣式的那一列之外,並顯示該行之後的內容。
-b或--byte-offset:在顯示符合樣式的那一行之前,標示出該行第一個字元的編號。
-B<顯示行數>或--before-context=<顯示行數>:除了顯示符合樣式的那一行之外,並顯示該行之前的內容。
-c或--count:計算符合樣式的列數。
-C<顯示行數>或--context=<顯示行數>或-<顯示行數>:除了顯示符合樣式的那一行之外,並顯示該行之前後的內容。
-d<動作>或--directories=<動作>:當指定要查找的是目錄而非文件時,必須使用這項參數,否則grep指令將回報信息並停止動作。
-e<範本樣式>或--regexp=<範本樣式>:指定字元串做為查找文件內容的樣式。
-E或--extended-regexp:將樣式為延伸的正則表達式來使用。
-f<規則文件>或--file=<規則文件>:指定規則文件,其內容含有一個或多個規則樣式,讓grep查找符合規則條件的文件內容,格式為每行一個規則樣式。
-F或--fixed-regexp:將樣式視為固定字元串的列表。
-G或--basic-regexp:將樣式視為普通的表示法來使用。
-h或--no-filename:在顯示符合樣式的那一行之前,不標示該行所屬的文件名稱。
-H或--with-filename:在顯示符合樣式的那一行之前,表示該行所屬的文件名稱。
………………
參數較多,就不為大家一一講解了!
⑸ 4-18 Linux中搜索文件的內容 --- grep
1、grep:用於查找文件里符合條件的字元串(內容)。豐富的參數用於對搜索過程的補充。命令模式十分靈活,可以是變數、字元串、正則表達式。
2、linux 支持 grep、egrep 和 fgrep。grep 和 egrep 都支持正則表達式,只不過 egrep 支持的是擴展正則表達式。fgrep 不支持正則表達式,只支持普通字元串的過濾。
3、grep 加上相應的參數可以實現 egrep 和 fgrep 的功能。所以,也可以用 grep 加上對應的參數來執行 egrep 和 fgrep。
4、通過 man grep 查看說明。
5、grep 命令的基本操作:
②、grep 根據條件過濾文件內容。
三、grep 命令的常用參數。
①、--color=auto:對匹配的字元串用高光顯示。
②、-v:排除過濾條件的行,也就是顯示排除條件以外的內容。
③、-i:忽略大小寫。
④、-n:顯示匹配的行號,列出內容的同時也列出行號。
⑤、-c:統計匹配的行數,只列出共多少行符合過略條件,不列出內容。
⑥、-o:僅顯示匹配的字元串,只顯示文本中含過濾條件的字元串。
⑦、-q:靜默模式,不輸出任何信息。用於返回值判斷,不考慮輸出內容。
⑧、-A:(after),顯示包含當前字元串的後多少行。
⑨、-B:(before),顯示包含當前字元串的前多少行。
⑩、-C:(context),顯示包含當前字元串的前後多少行。
⑩-①、-e:or,或。用於多個參數間的邏輯 或 判斷。
⑩-②、-w:精確匹配,匹配整個單詞。
⑩-③、-f:把過濾條件放到文件中,通過讀取文件的過濾條件進行過濾。
⑩-④、-E:使用 egrep。(支持擴展正則表達式)
⑩-⑤、-F:使用 fgrep(不支持正則表達式)。
②、-v:排除過濾條件的行,也就是顯示排除條件以外的內容。
③、-i:忽略大小寫。
④、-n:顯示匹配的行號,列出內容的同時也列出行號。
⑤、-c:統計匹配的行數,只列出共多少行符合過略條件,不列出內容。
⑥、-o:僅顯示匹配的字元串,只顯示文本中含過濾條件的字元串。
⑦、-q:靜默模式,文本中包不包含過濾條件的字元串都不輸出任何信息。用於返回值判斷,命令執行成功返回 0,失敗返回非 0。
⑧、-A:(after),顯示包含當前字元串的後多少行。
⑨、-B:(before),顯示包含當前字元串的前多少行。
⑩、-C:(context),顯示包含當前字元串的前後多少行。
⑩-①、-e:or,或。用於多個參數間的邏輯 或 判斷。
⑩-②、-w:精確匹配,匹配整個單詞。
⑩-③、-f:把過濾條件放到文件中,通過讀取文件的過濾條件進行過濾。
⑹ Linux 中 Grep 命令的常見示例,很全面
Grep 是一個強大的 UNIX 命令,可讓您在文件內容中搜索各種參數。當您進行故障排除或調試時,它特別有用。
grep 命令有大量的選項和用例。您可能永遠不需要或使用所有這些。但是,您最終會在大多數情況下使用少數幾個 grep 命令。
本文列出了最常見的 grep 命令和快速示例:
命令示例:
描述 :不區分大小寫的搜索
命令示例:
描述 :匹配後顯示 n 行
命令示例:
描述 :在匹配前顯示 n 行
命令示例:
描述 :在匹配前後顯示 n 行
命令示例:
描述 :顯示不匹配的行
命令示例:
描述 :計算匹配行數
命令示例:
描述 :僅顯示文件名
命令示例:
描述 :匹配確切的單詞
命令示例:
描述 :匹配正則表達式模式
命令示例:
描述 :搜索二進制文件
命令示例:
描述 :遞歸搜索目錄
您可能已經知道要在文件中搜索特定文本或模式,您必須像這樣使用 grep:
讓我們看看 grep 命令的幾個常見用例。
默認情況下,使用 grep 進行的搜索區分大小寫,-i您可以使用以下選項忽略大小寫匹配:
這樣,grep 將返回與 和 匹配的Holmes行holmes。
默認情況下,您只會看到匹配的行,但是,當您對某些問題進行故障排除時,在匹配行之前和/或之後查看幾行會有所幫助。
您可以使用-A來顯示匹配行之後的行。
下面的命令將顯示匹配的行以及匹配後的 5 行。
同樣,您可以使用該-B選項在匹配行之前顯示行。
下面的命令將在匹配行之前顯示 5 行以及匹配行。
我最喜歡的是該選項-C,因為它顯示了匹配行之前和之後的行。
下面的命令將顯示匹配行之前的 5 行、匹配行和 matchine 行之後的 5 行。
您可以使用 grep 顯示與給定模式不匹配的所有行。此「反轉匹配」與以下-v選項一起使用:
您可以組合-i和-v選項。
-c您可以使用選項獲取與模式匹配的行數,而不是顯示匹配的行。這是小寫的c。
您可以結合-cand-v選項來獲取與給定模式不匹配的行數。您當然可以使用不區分大小寫的選項-i。
要顯示匹配行的行號,您可以使用該-n選項。
您可以對反向搜索執行相同的操作。
您可以提供多個文件供 grep 搜索。
這可能有效,但更實際的示例是搜索特定類型的文件。例如,如果您只想在 shell 腳本中查找字元串(以 .sh 結尾的文件),您可以使用:
您可以使用 grep option執行遞歸搜索-r。它將在當前目錄及其子目錄中的所有文件中搜索給定的模式。
默認情況下,grep 顯示匹配的行。如果您對多個文件運行了搜索,並且只想查看哪些文件包含該字元串,則可以使用該-l選項。
假設您想查看哪些 Markdown 文件包含「手冊」一詞,您可以使用:
默認情況下,grep 將顯示包含給定字元串的所有行。你可能並不總是想要那個。如果您正在搜索單詞「done」,它還會顯示包含「doner」或「abandoned」字樣的行。
要使 grep 僅搜索完整的單詞,您可以使用以下選項-w:
這樣,如果您搜索單詞「done」,它只會顯示包含「done」的行,而不是「doner」或「abandoned」。
您可以使用正則表達式模式為您的搜索提供超級動力。有一個允許使用正則表達式模式的專用選項-e和-E一個允許使用擴展正則表達式模式的選項。
您可以在同一個 grep 搜索中搜索多個模式。如果要查看包含一種模式或另一種模式的行,可以使用 OR 運算符|。
您可以將多個模式與 OR 運算符一起使用。
AND 運算符沒有特定選項。為此,您可以多次使用 grep 和管道重定向。
Grep 默認忽略二進制文件。-a您可以使用該選項使其在二進制文件中搜索,就好像它是文本文件一樣。
⑺ linux grep命令怎麼用
grep (global search regular expression(RE) and print out the line,全面搜索正則表達式並把行列印出來)是一種強大的文本搜索工具,它能使用正則表達式搜索文本,並把匹配的行列印出來。
Unix的grep家族包括grep、egrep和fgrep。egrep和fgrep的命令只跟grep有很小不同。egrep是grep的擴展,支持更多的re元字元, fgrep就是fixed grep或fast grep,它們把所有的字母都看作單詞,也就是說,正則表達式中的元字元表示回其自身的字面意義,不再特殊。linux使用GNU版本的grep。它功能更強,可以通過-G、-E、-F命令行選項來使用egrep和fgrep的功能。
grep的詳細使用方法有很厚一本書,此處無法詳細說明,只能列出grep常用用法
[root@www ~]# grep [-acinv] [--color=auto] '搜尋字元串' filename
選項與參數:
-a :將 binary 文件以 text 文件的方式搜尋數據
-c :計算找到 '搜尋字元串' 的次數
-i :忽略大小寫的不同,所以大小寫視為相同
-n :順便輸出行號
-v :反向選擇,亦即顯示出沒有 '搜尋字元串' 內容的那一行!
--color=auto :可以將找到的關鍵詞部分加上顏色的顯示喔!