linux系統(tǒng)之正則表達(dá)式linux7_第1頁
linux系統(tǒng)之正則表達(dá)式linux7_第2頁
linux系統(tǒng)之正則表達(dá)式linux7_第3頁
linux系統(tǒng)之正則表達(dá)式linux7_第4頁
linux系統(tǒng)之正則表達(dá)式linux7_第5頁
已閱讀5頁,還剩3頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、正那么表達(dá)式一:表達(dá)式1、正那么用在:匹配數(shù)據(jù)、包含匹配 grep、awk、sed命令通配符用在:匹配文件名稱、完全匹配find /-name abc*ls cp元字符作用*前一個字符匹配0次或任意屢次.匹配除了換行符外任意一個字符A匹配行首,例如:Ahello會匹配以hello 開頭的行$匹配行尾,例如:Ahello會匹配以hello 結(jié)尾的行匹配中括號中指定的任意字符,只匹配 一個字符,例如aoeiu匹配任意一個元 音字母,0-9匹配任意一位數(shù)字, a-z0-9匹配小寫字母和一位數(shù)字構(gòu)成 的兩個字符A匹配除中括號的字符以外的任一個字 符,例如A0-9匹配任意一位非數(shù)字符,Aa-z表示任意一

2、位非小寫字母轉(zhuǎn)義符,用于取消講特殊符號的含義取 消n表小其前面字符恰好出現(xiàn)n次,例如0-94 匹配 4 位數(shù)字,13-80-99匹配 號n.表小其前面的字符出現(xiàn)不小于n次,例如,0-92,表示兩位及以上的數(shù)字n,m表示其前面的字符至少出現(xiàn)n次,最多 出現(xiàn)m次,例如,a-z6,8匹配6到 8位的小寫字母2*第一個:grep grep grep grepa*;aa*,aaa*aaaaatext.txttext.txttext.txt*text.txt匹配所有內(nèi)容,包括空白行/匹配至少包含一個a的行匹配最少包含兩個連續(xù)a的字符/匹配至少包含四個連續(xù)a的字符串第二個:.S.d #會匹配在s和d這兩個字

3、母之間一定有兩個字符的單詞S.*d #會匹配在s和d這兩個字母之間有任意字符*#匹配所有內(nèi)容第三個久?M匹配以大寫M開頭的行n$匹配以小寫n結(jié)尾的行峙匹配空白行第四個口Saoid#匹配s和i字母中,要不是a、要不是o0-9#匹配任意一個數(shù)字,a-z#匹配用小寫字母開頭的行,Aa-z匹配不用小寫字母開頭的行,a-zA-Z匹配不用字母開頭的行第五個轉(zhuǎn)義符:$#匹配使用.結(jié)尾的行第六個n表示其前面的字符恰好出現(xiàn)n次a3#匹配a字母連續(xù)出現(xiàn)三次的字符串,含3次以上xc3u 在x和u之間只能有三個c0-93 #匹配包含連續(xù)的三個數(shù)字的字符串0-93,a-z #匹配最少用連續(xù)三個數(shù)字開頭的行n,m 匹配其

4、前面的字符至少出現(xiàn)n次,最多出現(xiàn)m次;Sa1,3i#匹配在字母s和字母i之間有最少一個a,最多三個a注意:定界符的問題,去除文本里邊的內(nèi)容小寫d加大寫G ,從光標(biāo)開始清到行尾例子:日期的例子0-94-0-92-0-92#匹配日期格式 YYYY-MM-DD0-91,3.0-91,3.0-91,3.0-91,3#匹配 ip 地址,可以提取字符截取命令1、cut字段提取命令2、printf 命令3、awk命令4、sed命令 1、cut字段:grep /bin/bash /etc/passwd | grep -v foot rootlocalhost#cut 選項(xiàng)文件名選項(xiàng):-f列號:提取第幾列-d分

5、隔符:根據(jù)指定分隔符分割列注意:默認(rèn)分割符石tab鍵例子:IDNamegenderMark1furongF852fengjF603cangF70#cut-f 2student#cut-f 2,4student#vi student.txt/截取第二列#grep 尋找截取第二列和第四列/bin/bash /etc/passwd | grep -v root | cut -f 1 -d :/bin/bash 在/etc/passwd這個文件+管道+除root +管道+截第一列:分割的- cut -d :-f 1,3 /etc/passwd截取第一三列 以:號分割的;注意cut命令不能以空格作為分隔

6、符printf 輸出類型輸出格式輸出內(nèi)容輸出類型:- %ns:輸出字符串.n是數(shù)字指代輸出幾個字符- %ni:輸出整數(shù).n是數(shù)字指代輸出幾個數(shù)字- %m,nf:輸出浮點(diǎn)數(shù).m和n是數(shù)字,指代輸出的整數(shù)位和小數(shù)位,如 8.2f代 表輸出8位數(shù),其中2位是小數(shù),6位是整數(shù).輸出格式:- a輸出警告聲音- b 輸出退格鍵,也就是Backspace- f清楚屏幕- n 換行- r 回車,也就是Enter鍵- t水平輸出退格鍵,也就是Tab鍵-v垂直輸出退格鍵,也就是Tab鍵例子:#printf %s 1 2 3 4 5 6123456#printf %s %s %s 1 2 3 4 5 6%s%s12

7、3456#printf %s %s % si 2 3 4 5 61 2 34 5 6#printf %st %st %sn 1 2 3 4 5 6123456#printf%s $(cat student.txt)/ 不調(diào)整輸出格式#printf %st%st %st %sn $(cat student.txt)/ 調(diào)整輸出格式,#cat student.txt | printf /printf 不支持?jǐn)?shù)據(jù)流操作,此命令不成立在awk命令的輸出中支持 print和printf命令print: print會在每個輸出之后自動參加一個換行符,(Linux默認(rèn)沒有print命令) printf: p

8、rintf是標(biāo)準(zhǔn)的格式輸出命令,并不會自動參加換行符,如果需要換行, 需要手工參加換行符awk命令:#awk條件1動作1條件2動彳2.文件名 條件(Pattern):一般使用關(guān)系表達(dá)式作為條件x 10判斷變量x是否大于10x =10大于等于 x = 70 printf $2 n sed命令#通過命令行的操作替換為我需要的字符串#vi student.txtIDNamegenderMark1furongF852fengjF603cangF70#sed是一種幾乎包括在所有 UNIX平臺包括Linux的輕量級流編輯器.sed主 要是用來將數(shù)據(jù)進(jìn)行選取、替換、刪除、新增的命令.#sed選項(xiàng)動作文件名選

9、項(xiàng)- n 一般sed命令會把所有數(shù)據(jù)都輸出到屏幕如果加-n選擇那么只會把經(jīng)過sed命 令處理的行輸出到屏幕- e允許對輸入數(shù)據(jù)應(yīng)用多條sed命令編輯- i用sed的修改結(jié)果直接修改讀取數(shù)據(jù)的文件,而不是由屏幕輸出.支持的動作:# a追加,在當(dāng)前行后添加一行或多行# c行替換,用c后面的字符串替換原數(shù)據(jù)行# i插入,在當(dāng)前行插入一行或多行,d:刪除,刪除指定的行# p打印,輸出指定的行# s字用替換,用一個字符串替換另一個字符串.格式為:行范圍s/舊孜用/新字申/g和vim中的替換格式類似# sed 2p students.txt 輸出 all# sed -n 2p students.txt輸出

10、第二行# sed 2dstudents.txt 刪除第 2 行# sed 2,4d, students.txt刪除第 2 行 到第 4 行# sed 2a piao liang jiu shi ren xing students.txt/ 在第二行后插入這一行內(nèi)容,只修改輸出,不修改源文件,#sed 2i piao liang jiu shi ren xing students.txt/ 在第二行插入這一行內(nèi)容, 只是修改輸出,#sed 4a/70/100/g student.txt 第 4 行的 70 改成 100,不修改原文件#sed -i 4a/70/100/g student.txt

11、第 4行的 70 改成 100,修改原文件#sed -e s/furong/g ; s/fengj/g student.txt / 同時執(zhí)行兩條命令用分號隔開, 并修改原文件,將furong、fengl字段改為空字符處理命令sort wcsort選項(xiàng)文件名選項(xiàng)- f忽略大小寫- n以數(shù)值型進(jìn)行排序,默認(rèn)使用字符串排序- r反向排序- t指定分隔符,默認(rèn)分隔符是制表符-k n ,m根據(jù)指定字段范圍排序.從第n字段開始,m字段結(jié)束默認(rèn)到行尾 注意:sed跟vi命令根本相似,但vi是交互式的、面向用戶的,而 sed是面向 程序的 例子:#sort /etc/passwd排序用戶信息文件 a-z#sort -r /etc/passwd反向排序z-a#sort -t :-k 3,3 /etc/passwd制定分隔符是“:,用第三字段

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論