GREP縮寫是什么含義?它的五大功能是什么?
GREP全稱是:Globally arch a Regular Expression and Print。
這是一種非常強大的文本搜索工具,它能使用特定模式匹配搜索文本(包括正則表達式),并且默認輸出匹配行。它的使用權限是所有用戶。
GREP的工作方式是在一個或多個文件中搜索字符串模板。如果模板包括空格,那么就要被引用,模板后的所有字符串被看作文件名。搜索的結果被送到屏幕,不影響原文件內容。
GREP的五個功能分別為:(1)多個文件查詢 grep "sort" *.doc #見文件名的匹配。
(2)行匹配:輸出匹配行的計數 grep -c "48" data.doc #輸出文檔中含有48字符的行數。
(3)顯示匹配行和行數 grep -n "48" data.doc #顯示所有匹配48的行和行號。
(4)顯示非匹配的行 grep -vn "48" data.doc #輸出所有不包含48的行。
(5)大小寫敏感 grep -i "ab" data.doc #輸出所有含有ab或Ab的字符串的行。
擴展資料
正則表達式,又稱規則表達式。(英語:Regular Expression,在代碼中常簡寫為regex、regexp或RE),計算機科學的一個概念。正則表達式通常被用來檢索、替換那些符合某個模式(規則)的文本。
許多程序設計語言都支持利用正則表達式進行字符串操作。例如,在Perl中就內建了一個功能強大的正則表達式引擎。正則表達式這個概念最初是由Unix中的工具軟件(例如d和grep)普及開的。正則表達式通常縮寫成“regex”,單數有regexp、regex,復數有regexps、regexes、regexen。
正則表達式的特點是:
1. 靈活性、邏輯性和功能性非常強。
2. 可以迅速地用極簡單的方式達到字符串的復雜控制。
3. 對于剛接觸的人來說,比較晦澀難懂。
由于正則表達式主要應用對象是文本,因此它在各種文本編輯器場合都有應用,小到著名編輯器EditPlus,大到Microsoft Word、Visual Studio等大型編輯器,都可以使用正則表達式來處理文本內容。
參考資料:百度百科-GREP
grep 命令使用
grep 過濾
參數:-v -B -C -A 使用
grep 參數:-i -o -E (正則)與egrep等
grep 參數-w 精準匹配查找的內容并輸出所在行
[root@localhost scripts]#cat dtext
qwerrrr
wewq
wew1
erw
wew
[root@localhost scripts]#grep "wew" dtext
wewq
wew1
wew
[root@localhost scripts]# grep -w "wew" dtext
wew
grep -n ".*" 顯示行號輸出 “.*” 代表任意字符
[root@localhost scripts]# grep -n ".*" dtext
1:qwerrrr
2:
3:wewq
4:wew1
5:erw
6:wew wweweweefd
7:wew weww
8:wew
grep -E 或egrep 可以使用正則表達
[root@localhost scripts]# egrep -w "wew|fds" dtext
wew wweweweefd
wew weww
wew
fds
grep是什么?怎么用
grep abc /Desktop/AA 功能就是在桌面AA文檔中查找abc的文本 如果有則將包含有AA的行全部顯示
AA這一文檔必須為文本類型的,下面是參照,
grep指令用于查找內容包含指定的范本樣式的文件,如果發現某文件的內容符合所指定的范本樣式,預設grep指令會把含有范本樣式的那一列顯示出來。若不指定任何文件名稱,或是所給予的文件名為“-”,則grep指令會從標準輸入設備讀取數據。
參 數:
-a或--text 不要忽略二進制的數據。
-A<顯示列數>或--after-context=<顯示列數> 除了顯示符合范本樣式的那一列之外,并顯示該列之后的內容。
-b或--byte-offt 在顯示符合范本樣式的那一列之前,標示出該列第一個字符的位編號。
-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 在顯示符合范本樣式的那一列之前,表示該列所屬的文件名稱。
-i或--ignore-ca 忽略字符大小寫的差別。
-l或--file-with-matches 列出文件內容符合指定的范本樣式的文件名稱。
-L或--files-without-match 列出文件內容不符合指定的范本樣式的文件名稱。
-n或--line-number 在顯示符合范本樣式的那一列之前,標示出該列的列數編號。
-q或--quiet或--silent 不顯示任何信息。
-r或--recursive 此參數的效果和指定“-d recur”參數相同。
-s或--no-messages 不顯示錯誤信息。
-v或--revert-match 反轉查找。
-V或--version 顯示版本信息。
-w或--word-regexp 只顯示全字符合的列。
-x或--line-regexp 只顯示全列符合的列。
-y 此參數的效果和指定“-i”參數相同。
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-offt:在顯示符合樣式的那一行之前,標示出該行第一個字符的編號。
-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:在顯示符合樣式的那一行之前,表示該行所屬的文件名稱。
………………
參數較多,就不為大家一一講解了!
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 u 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’會一直等著,直到該程序被中斷。如果您遇到了這樣的情況,按 <CTRL c> ,然后再試。
下面是一些有意思的命令行參數:
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 '\<man' * 匹配‘manic’和‘man’,但不是‘Batman’,
grep '\<man\>' 只匹配‘man’,而不是‘Batman’或‘manic’等其他的字符串。
'^':指匹配的字符串在行首,
'$':指匹配的字符串在行尾,
如果您不習慣命令行參數,可以試試圖形界面的‘grep’,如 reXgrep 。這個軟件提供 AND、OR、NOT 等語法,還有漂亮的按鈕 :-) 。如果您只是需要更清楚的輸出,不妨試試 fungrep 。
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您可以使用該選項使其在二進制文件中搜索,就好像它是文本文件一樣。