文本搜索神器grep
目錄
grep介紹
grep語法
準(zhǔn)備工作
?示例
正則匹配
實驗任務(wù)
在命令后添加"> 文件名"將內(nèi)容輸出到文件中。
任務(wù)一:
任務(wù)二:
任務(wù)三:
-
grep介紹
Linux中的grep命令是強大的文本搜索工具,使用正則表達式搜索文本,并將匹配到的行打印出來
-
grep語法
grep [-acinv] [--color=auto] 搜尋內(nèi)容 目標(biāo)文本文件
選項與參數(shù)
-
-a 將二進制文件當(dāng)作文本文件搜索
-
-c 統(tǒng)計搜索到的次數(shù)
-
-i 忽略大小寫
-
-n 輸出行號
-
-v 輸出沒有搜索到內(nèi)容的行
-
--color=auto 找到的搜索內(nèi)容上加顏色
-
準(zhǔn)備工作
打開終端窗口,依次輸入以下命令:
$ cd base
$ mkdir text-grep
在當(dāng)前目錄下新建文件夾text-grep,作為本實驗的工作目錄。
再將file.txt和longfile.txt復(fù)制到工作目錄:
$ cp file.txt longfile.txt text-grep
$ cd text-grep
-
?示例
#在longfile.txt搜索含有“夢”的句子并輸出行號:
$ grep -n 夢 longfile.txt
1:——此開卷第一回也。作者自云:曾歷過一番夢幻之后,故將真事隱去,而借
11:中間用“夢”“幻”等字,卻是此書本旨,兼寓提醒閱者之意。
91:定睛看時,只見烈日炎炎,芭蕉冉冉,夢中之事便忘了一半。又見奶母抱了英蓮??
#反向查找,在longfile.txt中搜索不含"日"的句子并輸出行號:
$ grep -nv 日 longfile.txt
1:——此開卷第一回也。作者自云:曾歷過一番夢幻之后,故將真事隱去,而借
2:通靈說此《石頭記》一書也,故曰“甄士隱”云云。但書中所記何事何人?自己又
4:見識皆出我之上。我堂堂須眉誠不若彼裙釵,我實愧則有馀,悔又無益,大無可如
7:告天下;知我之負(fù)罪固多,然閨閣中歷歷有人,萬不可因我之不肖,自護己短,一
........................省略.................................??
-
正則匹配
正則匹配規(guī)則
-
^ 以此開頭的行獲得匹配
-
$ 以此結(jié)尾的行獲得匹配
-
\< 匹配包含以此開頭的單詞的行
-
\> 匹配包含以此結(jié)尾的單詞的行
-
[ ] 單個字符;如[A] 即A符合要求
-
[ - ] 范圍 ;如[A-Z]即A-Z之間有一個匹配的
-
. 所有的單個字符
-
? ? ? ? ? ?匹配0到1次。
-
* ? ? ? ? ?匹配0到多次。
-
+ ? ? ? ? 匹配1到多次。
-
{n} ? ? ? 匹配n次。
-
{n,} ? ? ?匹配n到多次。
-
{n,m} ? ? ?匹配n到m次。
-
\ 忽略正則表達式中特殊字符的原有含義
示例
$ grep -n [a-g] file.txt
2:Windows
3:Mac OS??
$ grep ^W file.txt
Windows??
-
實驗任務(wù)
在命令后添加"> 文件名"將內(nèi)容輸出到文件中。
任務(wù)一:
輸出longfile.txt所有包含"石頭"的行并輸出行號,輸出到文件grep_1.txt(40分)。
?grep -n 石頭 longfile.txt > grep_1.txt
任務(wù)二:
統(tǒng)計longfile.txt中"作者"出現(xiàn)的次數(shù),輸出到文件grep_2.txt(30分)。
grep -c 作者 longfile.txt > grep_2.txt
任務(wù)三:
統(tǒng)計file.txt所有包含以O(shè)S結(jié)尾的單詞的行,輸出到文件grep_3.txt(30分)。
grep 'OS\>' file.txt > grep_3.txt??
總結(jié)
以上是生活随笔為你收集整理的文本搜索神器grep的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 2018 CCSP 杭州之行
- 下一篇: Linux 通过yum源安装subver