您好,登錄后才能下訂單哦!
本篇文章給大家分享的是有關Linux系統grep命令如何在文件內容中查找關鍵字 ,小編覺得挺實用的,因此分享給大家學習,希望大家閱讀完這篇文章后可以有所收獲,話不多說,跟著小編一起來看看吧。
find命令可以準確的查找文件但是不能查找文件內的關鍵字,如果想要查找文件內容怎么辦?
查看文件的行數在 linux 系統中沒有在 windows 系統中那么方便的點點鼠標就可以操作文件了,對文件的各種操作都必須使用各種命令來完成。比如有時候我們需要在不查看文件內容的情況下需要知道該文件有多少行。這個時候可以通過 linux 的 wc 命令完成我們的想法。下面具體介紹一下 wc 命令的作用以及用法。
wc 命令的作用:統計指定文件中的字節數、字數、行數,并將結果顯示輸出。
命令語法:wc [選項] 文件
該命令選項參數如下:
-c 統計字節數
-l 統計行數
-w 統計字數
-m 統計字符數
以上選項可以單獨使用也可以組合使用。注意組合使用時輸出結果的列的順序和數目不受選項的順序和數目的影響。輸出結果總是按下述順序進行顯示的。
行數 字數 字節數 文件名
例如:
wc -lcw file1 file2
則輸出結果為:
9 36 file1
8 62 file2
8 24 96 total
省略任選項-lcw,wc命令的執行結果與上面是一樣的。
以上選項也可以單獨使用,例如:
wc -l filename 輸出 filename 的行數
wc -c filename 輸出 filename 的字節數
wc -m filename 輸出 filename 的字符數
wc -w filename 輸出 filename 的單詞數
wc -L filename 輸出 filename 文件里最長的那一行是多少個字符數
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。
4.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′就可以了。
5.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’會一直等著,直到該程序被中斷。如果您遇到了這樣的情況,按 ,然后再試。
下面還有一些有意思的命令行參數:
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
grep 只匹配man,而不是Batman或manic等其他的字符串。
^:指匹配的字符串在行首,
$:指匹配的字符串在行 尾,
實踐在包含大量文件索引的.txt文本文件中,搜索符合要求的文件索引的內容:
grep .19-. files_choice.txt
以上就是Linux系統grep命令如何在文件內容中查找關鍵字 ,小編相信有部分知識點可能是我們日常工作會見到或用到的。希望你能通過這篇文章學到更多知識。更多詳情敬請關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。