校园春色亚洲色图_亚洲视频分类_中文字幕精品一区二区精品_麻豆一区区三区四区产品精品蜜桃

主頁 > 知識庫 > linux學習日記九 正則表達式介紹

linux學習日記九 正則表達式介紹

熱門標簽:凱立德劇院地圖標注 漳州外呼系統怎么樣 天津人工電銷機器人費用 內蒙古電信外呼系統 哪個地圖標注更清晰 開封400電話辦理價格 地圖標注小區項目入駐 曲阜地圖標注app 4s店如何在百度地圖標注

正則表達式就是處理字符串的方法,它以行為單位來進行字符串的處理行為,正則表達式通過一些特殊符號的輔助,可以讓用戶輕易達到查找、刪除、替換某特定字符串的處理程序。

正則表達式基本上就是一種“表示法”,只要工具程序支持這種表示法,那么該工具程序就可以利用正則表達式處理字符串。例如vi,grep,awk,sed等。

正則表達式和之前的bash通配符是兩個完全不同的東西,兩者毫無關系,這個要注意下。

# grep [-A]  [-B]  [--color=auto] ‘string’  filename

-A:后面加數字,為after的意思,除了列出該行,后續的n行也列出

-B:before的意思,不解釋

# dmesg | grep -n -A3 -B2 –color=auto ‘eth’ == 內核信息

====幾個基本的正則式特殊符號====

特殊符號 代表意義
[:alnum:] 代表英文大小寫字符以及數字,亦即 0-9, A-Z, a-z
[:alpha:] 代表任何英文大小寫字符,亦即 A-Z, a-z
[:blank:] 代表空白鍵與 [Tab] 按鍵兩者
[:cntrl:] 代表鍵盤上面的控制按鍵,亦即包括 CR, LF, Tab, Del.. 等等
[:digit:] 代表數字而已,亦即 0-9
[:graph:] 除了空白字元 (空白鍵與 [Tab] 按鍵) 外的其他所有按鍵
[:lower:] 代表小寫字元,亦即 a-z
[:print:] 代表任何可以被列印出來的字元
[:punct:] 代表標點符號 (punctuation symbol),亦即:” ‘ ? ! ; : # $…
[:upper:] 代表大寫字元,亦即 A-Z
[:space:] 任何會產生空白的字元,包括空白鍵, [Tab], CR 等等
[:xdigit:] 代表 16 進制的數字類型,因此包括: 0-9, A-F, a-f 的數字與字符

====基礎正則式====

RE 字符 意義與范例
^word 意義:待搜尋的字串(word)在行首!
范例:搜尋行首為 # 開始的那一行,并列出行號

grep -n ‘^#’ regular_express.txt

word$ 意義:待搜尋的字串(word)在行尾!
范例:將行尾為 ! 的那一行列印出來,并列出行號

grep -n ‘!$’ regular_express.txt

. 意義:代表『一定有一個任意字元』的字符!
范例:搜尋的字串可以是 (eve) (eae) (eee) (e e), 但不能僅有 (ee) !亦即 e 與 e 中間『一定』僅有一個字元,而空白字元也是字元!

grep -n ‘e.e’ regular_express.txt

\ 意義:跳脫字符,將特殊字符的特殊意義去除!
范例:搜尋含有單引號 ‘ 的那一行!

grep -n \&; regular_express.txt

* 意義:重復零個到無窮個的前一個字符
范例:找出含有 (es) (ess) (esss) 等等的字串,注意,因為 * 可以是 0 個,所以 es 也是符合的。另外,因為 * 為重復『前一個字符』的符號, 因此,在 * 之前必須要緊接著一個字符喔!例如任意字元則為 『.*』 !

grep -n ‘ess*’ regular_express.txt

[list] 意義:字元集合的 RE 字符,裡面列出想要擷取的字元!
范例:搜尋含有 (gl) 或 (gd) 的那一行,需要特別留意的是,在 [] 當中『謹代表一個待搜尋的字元』, 例如『 a[afl]y 』代表搜尋的字串可以是 aay, afy, aly 即 [afl] 代表 a 或 f 或 l 的意思!

grep -n ‘g[ld]‘ regular_express.txt

[n1-n2] 意義:字元集合里,列出想要擷取的字元范圍!
范例:搜尋含有任意數字的那一行!需特別留意,在字元集合 [] 中的減號 – 是有特殊意義的,他代表兩個字元之間的所有連續字元!但這個連續與否與 ASCII 編碼有關,因此,你的編碼需要設定正確(在 bash當中,需要確定 LANG與LANGUAGE 的變量是否正確!) 例如所有大寫字元則為 [A-Z]

grep -n ‘[A-Z]‘ regular_express.txt

[^list] 意義:字元集合的 RE 字符,里面列出不要的字串或范圍!
范例:搜尋的字串可以是 (oog) (ood) 但不能是 (oot) ,那個 ^ 在 [] 內時,代表的意義是『反向選擇』的意思。 例如,我不要大寫字元,則為 [^A-Z]。但是,需要特別注意的是,如果以 grep -n [^A-Z] regular_express.txt 來搜尋,卻發現該文件內的所有行都被列出,為什么?因為這個 [^A-Z] 是『非大寫字元』的意思, 因為每一行均有非大寫字元,例如第一行的 “Open Source” 就有 p,e,n,o…. 等等的小寫字

grep -n ‘oo[^t]‘ regular_express.txt

\{n,m\} 意義:連續 n 到 m 個的『前一個 RE 字符』
意義:若為 \{n\} 則是連續 n 個的前一個 RE 字符,
意義:若是 \{n,\} 則是連續 n 個以上的前一個 RE 字符!
 

范例:在 g 與 g 之間有 2 個到 3 個的 o 存在的字串,亦即 (goog)(gooog)

grep -n ‘go\{2,3\}g’ regular_express.txt

====分析工具sed====

sed本身是一個管道命令,可以分析stdin數據

# sed [-nefr] [動作]

-n:使用安靜模式(silent),在一般模式下,所有來自stdin數據都顯示出來,而-n后只顯示被sed特殊處理的那一行

-e:直接在命令行模式上進行sed的動作編輯

-f:直接將sed動作寫在一個文件內,-f filename 則可以執行filename內的sed動作

-r:sed的動作支持的是擴展型正則式語法(默認是基礎型)

-i:直接修改讀取的文件內容,而不是由屏幕輸出

動作說明:[n1[,n2]] function

n1,n2:不見得存在,一般代表選擇進行動作的行數,比如在10到20行間進行,則”10,20 [動作行為]‘

function的參數:

a:新增,a的后面可以接字符串,而這些字符串會在新的一行出現(目前的下一行)

c:替換,c的后面接字符串,這些字符串可以替換n1,n2之間的行

d:刪除,后面不接任何參數

i:插入,i后面可接字符串,這些字符串會在新的一行出現(目前的上一行)

p:打印,也就是將某個選擇的數據打印出來。通常p會與參數sed -n 一起運行

s:替換,就是直接進行替換工作,通常這個s的動作可以搭配正則式例如:1,29s/old/new/g就是

注:sed后面接的動作,需要用兩個單引號”括住。

# nl /etc/passwd | sed ’2,5d’

# nl /etc/passwd | sed ’3,$d’

整行替換:

# nl /etc/passwd | sed ’2,5c No 2-5 number’

# nl /etc/passwd | sed -n ’5,7p’ 這個等價于 : head -n 7 | tail -n 5

sed的查找并替換,跟vim的很類似:

# sed ‘s/要被替換的字符串/新的字符串/g’

# nl /etc/passwd | sed ‘/^$/d’  ==刪除空白行

====擴展正則式====

====好用的數據處理工具awk====

相比于sed常常作用于一整行的處理,awk則運用于將一行分成數個字段來處理,適用于處理小型數據

# awk ‘條件類型1 {動作1} 條件類型2 {動作2} …’ filename

# awk -n 5 | awk ‘{print $t “\t” $3}’

awk處理流程:

1,讀入第一行,并將第一行的數據填入$0,$1,$2等變量中

2,依據條件類型限制,判斷是否需要進行后面的動作

3,做完所有的動作與條件類型

4,若還有后續的行的數據,則重復上面的1~3的步驟,直到所有的數據都讀完為止

awk的內置變量為:

* NF :每一行($0)擁有的字段總數

* NR :目前awk所處理的是第幾行數據

* FS :目前的分隔符,默認是空格鍵

# last -n 5 | awk ‘{print $1 “\t lines: ” NR “\t columns: ” NF}’

# cat /etc/passwd | awk ‘BEGIN {FS=”:”} $3 10 {print $1 “\t ” $3}’

====文件的比較命令diff====

# diff [-bBi] original_file new_file

-b:忽略一行中僅有多個空白的區別

-B:忽略空白行的區別

-i:忽略大小寫的不同

====補丁命令patch====

先用diff命令生成補丁文件:

# diff -Naur passwd.old passwd.new > paswd.patch

# patch -pN patch_file  ==更新

# patch -R -pN patch_file  == 還原

-p:后面的N表示取消基層目錄的意思

-R:代表還原,將新的文件還原成原本的舊的版本

再開始把舊文件升級到新版本:

# patch -p0 passwd.patch

把新版本還原:

# patch -R -p0 passwd.patch

打印命令pr….

============END===============

標簽:開封 南陽 陽泉 綿陽 武漢 黔南 南京 莆田

巨人網絡通訊聲明:本文標題《linux學習日記九 正則表達式介紹》,本文關鍵詞  linux,學習,日記,九,正則,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《linux學習日記九 正則表達式介紹》相關的同類信息!
  • 本頁收集關于linux學習日記九 正則表達式介紹的相關信息資訊供網民參考!
  • 推薦文章
    校园春色亚洲色图_亚洲视频分类_中文字幕精品一区二区精品_麻豆一区区三区四区产品精品蜜桃
    国产一区二区三区美女| 亚洲女人小视频在线观看| 美国十次了思思久久精品导航| 欧美一区二区三区日韩视频| 日本不卡的三区四区五区| 91精品国产综合久久香蕉的特点| 精品亚洲porn| 欧美国产日韩精品免费观看| 91在线丨porny丨国产| 亚洲综合一区在线| 日韩一卡二卡三卡国产欧美| 国产精品一区二区视频| 国产精品久久久久精k8| 欧美体内she精高潮| 蜜桃一区二区三区四区| 久久久一区二区三区捆绑**| 99精品久久久久久| 三级久久三级久久久| 久久久久国产一区二区三区四区| av午夜一区麻豆| 国产在线精品一区在线观看麻豆| 久久久一区二区三区捆绑**| 91精品91久久久中77777| 免费xxxx性欧美18vr| 中文字幕在线不卡视频| 5566中文字幕一区二区电影| 成熟亚洲日本毛茸茸凸凹| 亚洲国产精品一区二区久久| 久久久久久久久久久黄色| 在线影视一区二区三区| 国产一区二区三区免费看| 亚洲乱码精品一二三四区日韩在线 | 91精品国产综合久久久蜜臀图片| 国产综合成人久久大片91| 亚洲欧美日韩国产综合| 精品国产乱码久久久久久图片 | 色综合天天综合网国产成人综合天 | 在线观看av一区二区| 久久国产精品区| 亚洲一区二区在线视频| 26uuu精品一区二区| 欧美日韩免费一区二区三区 | 91精品国产一区二区三区香蕉| 99久久婷婷国产综合精品| 日韩国产在线观看| 一区二区三区 在线观看视频| 久久久亚洲国产美女国产盗摄| 欧洲一区在线电影| 成人涩涩免费视频| 韩国三级中文字幕hd久久精品| 天天操天天干天天综合网| 亚洲日本在线a| 国产精品国产自产拍高清av王其| 欧美成人精品1314www| 欧美福利视频导航| 日本精品裸体写真集在线观看| 高清beeg欧美| 国产精品一区二区在线观看不卡 | 久久成人羞羞网站| 国产在线精品国自产拍免费| aa级大片欧美| 国产三级精品视频| 国产制服丝袜一区| 2021久久国产精品不只是精品| 天天综合日日夜夜精品| 欧美在线免费播放| 亚洲影视在线播放| 色偷偷88欧美精品久久久| 亚洲毛片av在线| 一本大道久久a久久综合婷婷| 国产区在线观看成人精品| 国产一区二区三区在线观看精品 | 国产人久久人人人人爽| 国产精品影视网| 久久久久久久久久久99999| 国内精品写真在线观看| 久久久精品免费观看| 国产成人精品免费| 欧美高清在线一区二区| 成人教育av在线| 一区二区三区久久| 欧美日免费三级在线| 日av在线不卡| 精品欧美乱码久久久久久| 极品少妇xxxx偷拍精品少妇| 欧美国产精品专区| 一本久久a久久精品亚洲| 天天影视涩香欲综合网 | 91官网在线免费观看| 亚洲图片欧美色图| 日韩精品综合一本久道在线视频| 国产原创一区二区| 亚洲欧洲日产国码二区| 色婷婷激情综合| 日本免费新一区视频| 国产欧美一区二区三区在线看蜜臀| 成人午夜av电影| 亚洲丝袜另类动漫二区| 宅男噜噜噜66一区二区66| 国产精品18久久久久久vr| 亚洲手机成人高清视频| 欧美少妇一区二区| 久久99久久精品欧美| 国产精品久久一卡二卡| 欧美性受xxxx| 国产高清亚洲一区| 亚洲综合在线观看视频| 精品免费视频.| 日本韩国欧美在线| 国产一区999| 亚洲成人1区2区| 中文幕一区二区三区久久蜜桃| 91成人看片片| 国产精品资源在线看| 午夜av电影一区| 国产精品国产三级国产普通话99 | 欧美三区免费完整视频在线观看| 久久精品免费观看| 一区二区三区高清不卡| 国产亚洲女人久久久久毛片| 欧美久久一二区| 91视频在线观看免费| 韩国视频一区二区| 丝袜美腿亚洲色图| 亚洲欧美视频在线观看视频| 日本一区二区三区dvd视频在线| 在线成人免费视频| 91精品福利视频| 波多野结衣亚洲| 国v精品久久久网| 国产一二精品视频| 美女视频黄 久久| 亚洲成人福利片| 亚洲一级片在线观看| 日韩一区中文字幕| 中文字幕免费在线观看视频一区| 精品久久国产老人久久综合| 日韩一级二级三级| 色综合天天综合| 99久久久久久99| 成人综合婷婷国产精品久久| 国产真实乱子伦精品视频| 久久超碰97中文字幕| 男女性色大片免费观看一区二区| 亚洲一区二区在线免费看| 亚洲黄色小说网站| 一区二区三区在线视频观看58| 国产精品久久久久aaaa| 国产精品系列在线| 国产精品卡一卡二| 国产精品久久久久久亚洲伦| 国产精品久久网站| 国产精品国模大尺度视频| 国产精品久久久久久久久免费相片| 国产日产欧美精品一区二区三区| 国产色爱av资源综合区| 国产农村妇女毛片精品久久麻豆| 国产亚洲综合在线| 国产精品久久久久久久久果冻传媒| 国产精品久久夜| 亚洲综合激情另类小说区| 偷窥少妇高潮呻吟av久久免费| 性久久久久久久| 久久99精品国产麻豆婷婷洗澡| 精品一区免费av| 国产成人午夜高潮毛片| 99久久久国产精品| 欧美揉bbbbb揉bbbbb| 日韩免费观看高清完整版在线观看| www激情久久| 中文字幕在线一区二区三区| 亚洲一区二区三区中文字幕在线| 日韩福利电影在线| 激情综合网天天干| 99久久精品费精品国产一区二区| 欧美日韩午夜在线视频| 精品久久久久久久久久久久包黑料| 国产日产欧美一区二区视频| 亚洲欧美色图小说| 精品午夜久久福利影院| 国产电影一区在线| 欧美日韩国产综合草草| 精品国产伦一区二区三区观看体验| 国产精品视频一二三区| 亚洲高清中文字幕| 国产成人av自拍| 91麻豆精品久久久久蜜臀| 国产精品久久久久久户外露出| 亚洲第一二三四区| 国产成人综合在线| 欧美精品一卡二卡| 国产精品久久久久精k8| 免费高清在线一区| 欧美亚洲愉拍一区二区| 国产亚洲精品久| 日本美女一区二区三区视频| 成人黄色网址在线观看| 精品免费一区二区三区| 亚洲成人av免费| 91一区二区在线|