導航:首頁 > 凈水問答 > linuxgrep過濾文件內容

linuxgrep過濾文件內容

發布時間:2022-09-17 05:01:29

㈠ linux中grep命令的詳細解釋

linxu下的grep命令其實是一個搜索文件文本的工具。下面由我為大家整理了linux的grep命令的詳細解釋的相關知識,希望對大家有幫助!

一、linux中的grep命令的詳細解釋

1.作用

Linux系統中grep命令是一種強大的文本搜索工具,它能使用正則表達式搜索文本,並把匹 配的行列印出來。grep全稱是Global Regular Expression Print,表示全局正則表達式版本,它的使用許可權是所有用戶。

2.格式

grep [options]

3.主要參數

[options]主要參數:

-c:只輸出匹配行的計數。

-I:不區分大 小寫(只適用於單字元)。

-h:查詢多文件時不顯示文件名。

-l:查詢多文件時只輸出包含匹配字元的文件名。

-n:顯示匹配行及 行號。

-s:不顯示不存在或無匹配文本的錯誤信息。

-v:顯示不包含匹配文本的所有行。

pattern正則表達式主要參數:

: 忽略正則表達式中特殊字元的原有含義。

^:匹配正則表達式的開始行。

$: 匹配正則表達式的結束行。

<:從匹配正則表達 式的行開始。

>:到匹配正則表達式的行結束。

[ ]:單個字元,如[A]即A符合要求 。

[ - ]:范圍,如[A-Z],即A、B、C一直到Z都符合要求 。

。:所有的單個字元。

* :有字元,長度可以為0。

二、linux中的grep命令的詳解實例

1.grep命令使用簡單實例

$ grep ‘test’ d*

顯示所有以d開頭的文件中包含 test的行。

$ grep ‘test’ aa bb cc

顯示在aa,bb,cc文件中匹配test的行。

$ grep ‘[a-z]{5}’ aa

顯示所有包含每個字元串至少有5個連續小寫字元的字元串的行。

$ grep ‘w(es)t.*1′ aa

如果west被匹配,則es就被存儲到內存中,並標記為1,然後搜索任意個字元(.*),這些字元後面緊跟著 另外一個es(1),找到就顯示該行。如果用egrep或grep -E,就不用””號進行轉義,直接寫成’w(es)t.*1′就可以了。

2.grep命令使用復雜實例

假設您正在’/usr/src/Linux/Doc’目錄下搜索帶字元 串’magic’的文件:

$ grep magic /usr/src/Linux/Doc/*

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’會一直等著,直到該程序被中斷。如果您遇到了這樣的情況,按 <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 -n pattern files 即可顯示行號信息

grep -c pattern files 即可查找總行數

這里還有些用於搜索的特殊符號:

< 和 > 分別標注單詞的開始與結尾。

例如:

grep man * 會匹配 ‘Batman’、’manic’、’man’等,

grep ‘<man’ * 匹配’manic’和’man’,但不是’Batman’,

grep ‘<man>’ 只匹配’man’,而不是’Batman’或’manic’等其他的字元串。

‘^’:指匹配的字元串在行首,

‘$’:指匹配的字元串在行 尾,

㈡ linux中,有哪些命令是比較好用的呢

1.列出文件清單命令:ls
ls命令能夠列出當前目錄下的所有內容。ls 命令的執行方式為:
# ls [-選項] [文件名或者目錄名]
進入到Linux命令行中後,我們至少要知道當前所處的位置有哪些內容,這些信息就可以使用ls命令來獲得。
在Linux中,ls命令是最常使用的命令之一,因為在命令行下要隨時查看目錄內容。如果不加任何選項的話,ls命令僅列出當前目錄下的文件和目錄名,例如,想要查看/etc目錄下的內容,可以使用下列命令:
# ls /etc
如果想要列出當前目錄下所有文件,則可以使用下列命令:
# ls -a

2、cat命令

功能:在標准輸出上顯示文件。
語法:cat [-vTEuAte] 文件
例子: cat example.txt
cat -A exam2.txt
cat file1 file2 > file2

3、more命令
功能:在終端屏幕按屏顯示文本文件。
語法: more [-pcdls] 文件
例子: more example.c
more -dc example.c
more -c -10 example.c

4、less命令
less命令的功能幾乎和more命令一樣,也是用來按頁顯示文件,不同之處在於less命令在顯示文件時允許用戶既
可以向前又可以向後翻閱文件。

5、head命令
功能:顯示指定文件的前若干行。預設設置為顯示10行
語法:head [-n] 文件
例子: head example.c
head -3 example.c

6、tail命令
功能:顯示指定文件的末尾若干行。預設設置為顯示10行
語法:tail [+ / - num ] [參數] 文件
+num 從第num行以後開始顯示。- num 從距文件尾num行處開始顯示。
例子: tail example.c
tail -4 example.c

7、grep、fgrep和egrep命令
功能:
這組命令以指定模式搜索文件,並通知用戶在什麼文件中搜索到與指定的模式匹配的字元串,並列印出所有包含該字元串的文本行,在該文本行的最前面是該行所在的文件名。grep命令一次只能搜索一個指定的模式;egrep命令檢索擴展的正則表達式(包括表達式組和可選項);fgrep命令檢索固定字元串,它不識別正則表達式,是快速搜索命令。
語法:
grep [-EFbcihlnvxef] [查找模式] [文件名1,文件名2,……]
egrep [選項] [查找模式] [文件名1,文件名2,……]
fgrep [選項] [查找模式] [文件名1,文件名2,……]
例子: grep "text file" example
grep data *
grep goto *.c

㈢ 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』會一直等著,直到該程序被中斷。如果您遇到了這樣的情況,按 <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 ^# filename
如果是想顯示除權 # 號開頭的行的話呢,只需加個參數-v (-v 表示相反的過濾)就行了
# grep -v ^# filename

㈤ 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:在顯示符合樣式的那一行之前,表示該行所屬的文件名稱。

………………

參數較多,就不為大家一一講解了!

㈥ Linux常用的內容查看命令有哪些

1、cat
用於顯示小文件的內容,或者在shell腳本里顯示文件內容,不支持翻頁。
[root@localhost ~]# cat /etc/fstab
#
# /etc/fstab
# Created by anaconda on Fri Jun 14 18:02:15 2019

可以顯示/etc/fstab的內容,如果想顯示行號,只要加上 cat -n參數即可

2、less
當文件比較大,cat查看時並不方便,因為cat不支持翻頁,是一次性顯示完的。
所以cat更適合在shell腳本中使用,讓機器自動讀取文件,而不適合人類來看。
所以當我們在看大文件時,一般會會用less命令
這個文件 /etc/man_db.conf有一百多行,我們用less來翻頁查看
[root@localhost ~]# less /etc/man_db.conf
上下翻頁,q鍵退出

3、head
如果只想看一個文件的前幾行,可以用head,比如,當我們查看ip地址時,其實只關注前2行就足夠了
[root@localhost ~]# ifconfig eth0
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 172.20.10.3 netmask 255.255.255.240 broadcast 172.20.10.15
inet6 240e:c0:f4be:300:e64:6e3c:b445:efab prefixlen 64 scopeid 0x0<global>
inet6 fe80::b7ad:e2ed:832e:99a9 prefixlen 64 scopeid 0x20<link>
ether 00:0c:29:84:23:62 txqueuelen 1000 (Ethernet)
RX packets 1017 bytes 130078 (127.0 KiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 729 bytes 120983 (118.1 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

4、tail
和head相對,tail是只顯示末尾幾行,比如我們想查看一個文件的更新情況,只要看最後幾行就可以了
[root@localhost ~]# tail -1 /etc/fstab
/dev/mapper/centos-swap swap swap defaults 0 0
[root@localhost ~]#
tail -數字,就是查看一個文件的最後幾行
tail也可以自動監測文件的更新情況,如果有更新,立即在屏幕顯示,使用tail -F參數,注意,使用大寫-F
5、wc
可以查看一個文件有多少行,多少單詞,多少位元組
[root@localhost ~]# wc /etc/fstab
19 62 504 /etc/fstab
這個文件有19行,62個單詞,504個位元組 更多詳細的介紹可查看「Linux命令大全」。

㈦ 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:在顯示符合樣式的那一行之前,表示該行所屬的文件名稱。

………………

參數較多,就不為大家一一講解了!

㈧ linux grep查找文件內容

Linux查找文件內容的常用命令方法。
1、從文件內容查找匹配指定字元串的行:
$ grep "被查找的字元串" 文件名
例子:在當前目錄里第一級文件夾中尋找包含指定字元串的.in文件
grep "thermcontact" */*.in
2、從文件內容查找與正則表達式匹配的行:
$ grep –e 「正則表達式」 文件名
3、查找時不區分大小寫:
$ grep –i "被查找的字元串" 文件名
4、查找匹配的行數:
$ grep -c "被查找的字元串" 文件名
5、從文件內容查找不匹配指定字元串的行:
$ grep –v "被查找的字元串" 文件名
6、從根目錄開始查找所有擴展名為.log的文本文件,並找出包含」ERROR」的行
find / -type f -name "*.log" | xargs grep "ERROR"
例子:從當前目錄開始查找所有擴展名為.in的文本文件,並找出包含」thermcontact」的行
find . -name "*.in" | xargs grep "thermcontact"

㈨ 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:在顯示符合樣式的那一行之前,表示該行所屬的文件名稱。
………………
參數較多,就不為大家一一講解了!

閱讀全文

與linuxgrep過濾文件內容相關的資料

熱點內容
深圳污水處理葯劑市場哪裡有 瀏覽:847
污水廠什麼工況脫泥 瀏覽:570
污水處理的圖紙 瀏覽:388
油煙機濾芯上的油膜怎麼去除 瀏覽:791
濾芯反沖洗用什麼試劑好 瀏覽:919
液壓凈水器濾芯價格多少 瀏覽:644
檢疫實驗室廢水處理多少錢 瀏覽:494
廢氣廢水運行記錄 瀏覽:182
安吉爾飲水機出水嘴怎麼拆 瀏覽:741
加濕器除垢劑的成份 瀏覽:974
凈水廠一般建在哪個風向 瀏覽:719
花灑內有水垢怎麼去除 瀏覽:107
瀛西污水處理廠 瀏覽:221
顆粒甩干機過濾網水垢處理方法 瀏覽:534
凈水機出廢水量少 瀏覽:201
純水機有什麼功效 瀏覽:909
廢水試劑A 瀏覽:315
組合式強磁除垢器檢修 瀏覽:458
鐵壺有生銹水垢還有啥 瀏覽:13
凈水機如何消除鉛 瀏覽:17