婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > grep用法詳解 grep與正則表達式

grep用法詳解 grep與正則表達式

熱門標簽:上海銷售電銷機器人軟件 自己做的電銷機器人 遼寧秒客來電話機器人 山東外呼系統聯系方式 惠安地圖標注 浙江營銷外呼系統有哪些 淄博市張店區地圖標注 地圖標注店鋪地圖標注酒店 哈爾濱公司外呼系統代理
正則表達式只是一種表示法,只要工具支持這種表示法, 那么該工具就可以處理正則表達式的字符串。vim、grep、awk 、sed 都支持正則表達式,也正是因為由于它們支持正則,才顯得它們強大;在以前上班的公司里,由于公司是基于web的服務型網站(nginx),對正則的需求比 較大,所以也花了點時間研究正則,特與大家分享下:

1基礎正則表達式
grep 工具,以前介紹過。
grep -[acinv] '搜索內容串' filename
-a 以文本文件方式搜索
-c 計算找到的符合行的次數
-i 忽略大小寫
-n 順便輸出行號
-v 反向選擇,即找 沒有搜索字符串的行
其中搜索串可以是正則表達式!

1
搜索有the的行,并輸出行號
$grep -n 'the' regular_express.txt
搜 索沒有the的行,并輸出行號
$grep -nv 'the' regular_express.txt

2 利 用[]搜索集合字符
[] 表示其中的某一個字符 ,例如[ade] 表示a或d或e
woody@xiaoc:~/tmp$ grep -n 't[ae]st' regular_express.txt
8:I can't finish the test.
9:Oh! the soup taste good!

可以用^符號做[]內的前綴,表示除[]內的字符之外的字 符。
比如搜索oo前沒有g的字符串所在的行. 使用 '[^g]oo' 作搜索字符串
woody@xiaoc:~/tmp$ grep -n '[^g]oo' regular_express.txt
2:apple is my favorite food.
3:Football game is not use feet only.
18:google is the best tools for search keyword.
19:goooooogle yes!

[] 內可以用范圍表示,比如[a-z] 表示小寫字母,[0-9] 表示0~9的數字, [A-Z] 則是大寫字母們。[a-zA-Z0-9]表示所有數字與英文字符。 當然也可以配合^來排除字符。
搜索包含數字的行
woody@xiaoc:~/tmp$ grep -n '[0-9]' regular_express.txt
5:However ,this dress is about $ 3183 dollars.
15:You are the best is menu you are the no.1.

行首與行尾字符 ^ $. ^ 表示行的開頭,$表示行的結尾( 不是字符,是位置)那么‘^$' 就表示空行,因為只有
行首和行尾。
這里^與[]里面使用的^意義不同。它表示^后面的串是在行的開頭。
比如搜索the在開頭的行
woody@xiaoc:~/tmp$ grep -n '^the' regular_express.txt
12:the symbol '*' is represented as star.

搜索以小寫字母開頭的行
woody@xiaoc:~/tmp$ grep -n '^[a-z]' regular_express.txt
2:apple is my favorite food.
4:this dress doesn't fit me.
10:motorcycle is cheap than car.
12:the symbol '*' is represented as star.
18:google is the best tools for search keyword.
19:goooooogle yes!
20:go! go! Let's go.
woody@xiaoc:~/tmp$

搜索開頭不是英文字母的行
woody@xiaoc:~/tmp$ grep -n '^[^a-zA-Z]' regular_express.txt
1:"Open Source" is a good mechanism to develop programs.
21:#I am VBird
woody@xiaoc:~/tmp$

$表示它前面的串是在行的結尾,比如 '\.' 表示 . 在一行的結尾
搜索末尾是.的行
woody@xiaoc:~/tmp$ grep -n '\.$' regular_express.txt //. 是正則表達式的特殊符號,所以要用\轉義
1:"Open Source" is a good mechanism to develop programs.
2:apple is my favorite food.
3:Football game is not use feet only.
4:this dress doesn't fit me.
5:However ,this dress is about $ 3183 dollars.
6:GNU is free air not free beer.
.....

注意在MS的系統下生成的文本文件,換行會加上一個 ^M 字符。所以最后的字符會是隱藏的^M ,在處理Windows
下面的文本時要特別注意!
可以用cat dos_file | tr -d '\r' > unix_file 來刪除^M符號。 ^M==\r

那么'^$' 就表示只有行首行尾的空行拉!
搜索空行
woody@xiaoc:~/tmp$ grep -n '^$' regular_express.txt
22:
23:
woody@xiaoc:~/tmp$

搜索非空行
woody@xiaoc:~/tmp$ grep -vn '^$' regular_express.txt
1:"Open Source" is a good mechanism to develop programs.
2:apple is my favorite food.
3:Football game is not use feet only.
4:this dress doesn't fit me.
..........

任意一個字符. 與重復字符 *

在bash中*代表通配符,用來代表任意個 字符,但是在正則表達式中,他含義不同,*表示有0個或多個 某個字符。
例如 oo*, 表示第一個o一定存在,第二個o可以有一個或多個,也可以沒有,因此代表至少一個o.

點. 代表一個任意字符,必須存在。 g??d 可以用 'g..d' 表示。 good ,gxxd ,gabd .....都符合。

woody@xiaoc:~/tmp$ grep -n 'g..d' regular_express.txt
1:"Open Source" is a good mechanism to develop programs.
9:Oh! the soup taste good!
16:The world is the same with 'glad'.
woody@xiaoc:~/tmp$

搜索兩個o以上的字符串
woody@xiaoc:~/tmp$ grep -n 'ooo*' regular_express.txt //前兩個o一定存在,第三個o可沒有,也可有多個。
1:"Open Source" is a good mechanism to develop programs.
2:apple is my favorite food.
3:Football game is not use feet only.
9:Oh! the soup taste good!
18:google is the best tools for search keyword.
19:goooooogle yes!

搜索g開頭和結尾,中間是至少一個o的字符串,即gog, goog....gooog...等
woody@xiaoc:~/tmp$ grep -n 'goo*g' regular_express.txt
18:google is the best tools for search keyword.
19:goooooogle yes!

搜索g開頭和結尾的字符串在的行
woody@xiaoc:~/tmp$ grep -n 'g.*g' regular_express.txt // .*表示 0個或多個任意字符
1:"Open Source" is a good mechanism to develop programs.
14:The gd software is a library for drafting programs.
18:google is the best tools for search keyword.
19:goooooogle yes!
20:go! go! Let's go.


限定連續重復字符的范圍 { }
. * 只能限制0個或多個, 如果要確切的限制字符重復數量,就用{范圍} 。范圍是數字用,隔開 2,5 表示2~5個,
2表示2個,2, 表示2到更多個
注意,由于{ }在SHELL中有特殊意義,因此作為正則表達式用的時候要用\轉義一下。

搜索包含兩個o的字符串的行。
woody@xiaoc:~/tmp$ grep -n 'o\{2\}' regular_express.txt
1:"Open Source" is a good mechanism to develop programs.
2:apple is my favorite food.
3:Football game is not use feet only.
9:Oh! the soup taste good!
18:google is the best tools for search keyword.
19:goooooogle yes!

搜索g后面跟2~5個o,后面再跟一個g的字符串的行。
woody@xiaoc:~/tmp$ grep -n 'go\{2,5\}g' regular_express.txt
18:google is the best tools for search keyword.


搜索包含g后面跟2個以上o,后面再跟g的行。。
woody@xiaoc:~/tmp$ grep -n 'go\{2,\}g' regular_express.txt
18:google is the best tools for search keyword.
19:goooooogle yes!


注意,相讓[]中的^ - 不表現特殊意義,可以放在[]里面內容的后面。
'[^a-z\.!^ -]' 表示沒有小寫字母,沒有. 沒有!, 沒有空格,沒有- 的 串,注意[]里面有個小空格。

另外shell 里面的反向選擇為[!range], 正則里面是 [^range]


2擴展正則表達式

擴展正則表達式是對基礎正則表達式添加了幾個特殊構成的。
它令某些操作更加方便。
比如我們要去除 空白行和行首為 #的行, 會這樣用:
woody@xiaoc:~/tmp$ grep -v '^$' regular_express.txt | grep -v '^#'
"Open Source" is a good mechanism to develop programs.
apple is my favorite food.
Football game is not use feet only.
this dress doesn't fit me.
............

然而使用支持擴展正則表達式的 egrep 與擴展特殊符號 | ,會方便許多。
注意grep只支持基礎表達式, 而egrep 支持擴展的, 其實 egrep 是 grep -E 的別名而已。因此grep -E 支持擴展正則。
那么:
woody@xiaoc:~/tmp$ egrep -v '^$|^#' regular_express.txt
"Open Source" is a good mechanism to develop programs.
apple is my favorite food.
Football game is not use feet only.
this dress doesn't fit me.
....................
這里| 表示或的關系。 即滿足 ^$ 或者 ^# 的字符串。

這里列出幾個擴展特殊符號:
+, 于 . * 作用類似,表示 一個或多個重復字符。
?, 于 . * 作用類似,表示0個或一個字符。
|,表示或關系,比如 'gd|good|dog' 表示有gd,good或dog的串
(),將部分內容合成一個單元組。 比如 要搜索 glad 或 good 可以這樣 'g(la|oo)d'
()的好處是可以對小組使用 + ? * 等。
比如要搜索A和C開頭結尾,中間有至少一個(xyz) 的串,可以這樣 : 'A(xyz)+C'
您可能感興趣的文章:
  • shell腳本之正則表達式、grep、sed、awk
  • 正則表達式grep用法詳解
  • linux系統用戶管理與grep正則表達式示例教程
  • 淺談Linux grep與正則表達式
  • bash 中用于grep的正則表達式
  • linux grep正則表達式與grep用法詳解
  • Shell正則表達式之grep、sed、awk實操筆記
  • linux grep與正則表達式使用介紹

標簽:重慶 無錫 西安 銅川 宣城 長沙 綿陽 泰州

巨人網絡通訊聲明:本文標題《grep用法詳解 grep與正則表達式》,本文關鍵詞  grep,用法,詳解,與,正則,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《grep用法詳解 grep與正則表達式》相關的同類信息!
  • 本頁收集關于grep用法詳解 grep與正則表達式的相關信息資訊供網民參考!
  • 推薦文章
    婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av
    久久久九九九九| aaa亚洲精品一二三区| 欧美肥妇free| 成人精品视频.| 天堂av在线一区| 国产偷v国产偷v亚洲高清| 美腿丝袜亚洲色图| 国产精品高清亚洲| 亚洲精品一区二区三区福利 | 精品国产乱码久久久久久1区2区| 91麻豆精品在线观看| 国产一区 二区 三区一级| 午夜精品福利一区二区蜜股av | 成人短视频下载| 麻豆一区二区99久久久久| 亚洲一级二级三级在线免费观看| 国产精品久久久久久久久久免费看| 欧美一区二区二区| 欧美日韩精品综合在线| 色八戒一区二区三区| 成人a免费在线看| 成人午夜av影视| 粉嫩嫩av羞羞动漫久久久| 国产原创一区二区| 色婷婷久久一区二区三区麻豆| 国产一区在线观看视频| 国产自产高清不卡| 久久99久国产精品黄毛片色诱| 亚洲一区二区中文在线| 亚洲卡通动漫在线| 一区二区三区精品视频| 亚洲免费电影在线| 亚洲一区免费视频| 天天影视色香欲综合网老头| 日韩高清欧美激情| 狠狠色狠狠色综合日日91app| 国产在线国偷精品产拍免费yy| 国产精品一级在线| 成人美女视频在线观看| 91亚洲午夜精品久久久久久| 91成人免费在线视频| 欧美日韩一本到| 日韩亚洲欧美中文三级| 久久影院午夜论| 国产精品天美传媒沈樵| 亚洲激情欧美激情| 99re8在线精品视频免费播放| 91视频国产观看| 欧美日韩一卡二卡三卡| 欧美成人精品福利| 欧美国产视频在线| 亚洲精品视频自拍| 日韩精品欧美精品| 久久99国内精品| 成人av在线电影| 欧美丝袜丝交足nylons图片| 精品国产乱码久久| 亚洲黄色免费电影| 粉嫩蜜臀av国产精品网站| 欧美高清激情brazzers| 欧美国产日韩一二三区| 日韩高清中文字幕一区| 99视频有精品| 欧美白人最猛性xxxxx69交| 亚洲精品视频在线看| 久久av资源站| 欧美视频一区二区在线观看| 亚洲国产精品传媒在线观看| 天天影视涩香欲综合网| 一本色道久久综合亚洲aⅴ蜜桃| 日韩女同互慰一区二区| 亚洲动漫第一页| 99精品热视频| 中文文精品字幕一区二区| 免费高清不卡av| 欧美视频在线一区| 一区二区三区影院| 成人国产精品免费| 久久精品在线观看| 日韩成人一级片| 色综合久久综合网欧美综合网 | 免费精品视频在线| 国内外成人在线| 91精品啪在线观看国产60岁| 久久精品一区二区三区不卡牛牛| 亚洲免费观看高清完整版在线| 蜜臀av一区二区在线观看| 成人一级视频在线观看| 久久久www免费人成精品| 亚洲国产精品久久艾草纯爱| 狠狠色2019综合网| 欧美三级一区二区| 欧美专区日韩专区| 久久精品视频在线看| 日韩国产欧美在线观看| 色综合一区二区| 国产日韩v精品一区二区| 亚洲一本大道在线| 99免费精品视频| 欧美成人精品1314www| 亚洲一区二区影院| 天天操天天干天天综合网| 成人一道本在线| 欧美一级欧美三级在线观看| 国产精品久久久久久久午夜片| 日韩国产欧美三级| 成人激情黄色小说| 精品国产乱码久久久久久免费| 国产91清纯白嫩初高中在线观看| 精品少妇一区二区三区日产乱码| 亚洲精选在线视频| 成人精品高清在线| 久久影院午夜论| 老汉av免费一区二区三区| 欧美日韩国产小视频在线观看| 26uuuu精品一区二区| 国产精品久久午夜夜伦鲁鲁| av电影在线观看不卡| 国产精品嫩草影院av蜜臀| 国产高清在线精品| 欧美日韩国产综合久久| 亚洲天堂福利av| av福利精品导航| 国产精品欧美综合在线| 国产99久久久久| 亚洲精品国产高清久久伦理二区| 国产精品99久久久久久久vr| 精品国产三级a在线观看| 久久精品国产在热久久| 欧美绝品在线观看成人午夜影视| 亚洲男女一区二区三区| 国产一区免费电影| 亚洲欧美日韩电影| 91丨九色丨蝌蚪富婆spa| 国产精品国产三级国产aⅴ入口| aaa欧美色吧激情视频| 18欧美乱大交hd1984| www.66久久| 久久国产福利国产秒拍| 久久这里只有精品6| 午夜精品久久久| 日韩午夜精品视频| 国产成人鲁色资源国产91色综| 日本一区二区视频在线观看| 99免费精品视频| 亚洲v日本v欧美v久久精品| a级精品国产片在线观看| 欧美韩国日本不卡| 日韩女优av电影| 国产一区免费电影| 成人欧美一区二区三区1314| 国产精品亚洲综合一区在线观看| 亚洲激情五月婷婷| 欧美乱熟臀69xxxxxx| 精品一区二区三区香蕉蜜桃| 国产精品伦一区二区三级视频| 一本高清dvd不卡在线观看| 亚洲欧美一区二区在线观看| 欧美mv和日韩mv的网站| 成人午夜在线播放| 亚洲成年人网站在线观看| 欧美一级高清片| 国产91精品精华液一区二区三区| 国产日韩欧美制服另类| 7777精品伊人久久久大香线蕉| 国产原创一区二区| 亚洲精品国产无天堂网2021| 日韩视频在线你懂得| 亚洲色图一区二区三区| 91福利区一区二区三区| 久草中文综合在线| 亚洲男同1069视频| 精品国产麻豆免费人成网站| 色系网站成人免费| 韩国v欧美v亚洲v日本v| 国产一区二区三区香蕉| 亚洲综合色自拍一区| 欧美激情一区二区三区全黄| 欧美日韩三级一区| bt欧美亚洲午夜电影天堂| 亚洲综合精品自拍| 亚洲国产欧美另类丝袜| 中文字幕视频一区| 337p日本欧洲亚洲大胆精品| 欧美少妇性性性| 91在线免费视频观看| 99久久精品免费看国产| 亚洲欧洲日韩综合一区二区| 日韩精品一区国产麻豆| 欧美人动与zoxxxx乱| 色综合久久久网| 欧美日韩国产综合一区二区 | 亚洲精品视频一区二区| 久久久国产一区二区三区四区小说| 欧美视频第二页| av电影在线观看一区| 懂色av一区二区三区免费观看| 国产欧美日韩久久| 中文字幕在线播放不卡一区| 2023国产精华国产精品|