Shell正則表達(dá)式(元字符)的使用
一、定義:元字符字符是這樣一類字符,它們表達(dá)的是不同字面本身的含義
二、分類:
1、基本正則表達(dá)式元字符
# ^ 行首定位 [root@localhost ~]# grep root /etc/passwd root:x:0:0:root:/root:/bin/bash operator:x:11:0:operator:/root:/sbin/nologin [root@localhost ~]# grep ^root /etc/passwd root:x:0:0:root:/root:/bin/bash # $ 行尾定位 [root@localhost ~]# grep love$ 1.txt love # . 匹配任意單個(gè)字符 [root@localhost ~]# grep a.c 1.txt abc adc # * 匹配前導(dǎo)符0次到多次 [root@localhost ~]# grep "abcde*" 1.txt abcd abcde abcdef abcdefj # .* 任意多個(gè)字符 [root@localhost ~]# grep ".*" 1.txt qian yoa huang kai kong # [] 匹配指定范圍內(nèi)的一個(gè)字符 [root@localhost ~]# grep "[lL]ove" 1.txt love love Love # [-] 匹配指定范圍內(nèi)的一個(gè)字符,連續(xù)的范圍 [root@localhost ~]# grep "[a-z]ove" 1.txt love love # [^] 匹配不在指定組內(nèi)的字符 [root@localhost ~]# grep "[^lL]ove" 1.txt 1ove |ove # \ 用來轉(zhuǎn)義元字符('' "" \),脫意符 [root@localhost ~]# grep "l\.ve" 1.txt l.ve # \< 詞首定位符 [root@localhost ~]# grep "\<love" 1.txt love love # \> 詞尾定位符 [root@localhost ~]# grep "love\>" 1.txt love love # () 匹配稍后使用的字符的標(biāo)簽 :1,2 s/(.*\)/#\1/ #加注釋 # x\{m\} 字符x重復(fù)出現(xiàn)m次 [root@localhost ~]# grep "o\{3\}" 1.txt |oooove # x\{m,\} 字符x重復(fù)出現(xiàn)m次以上 [root@localhost ~]# grep "o\{3,\}" 1.txt |oooove looove loooooooove # x\{m,n\} 字符x重復(fù)出現(xiàn)m到n次 [root@localhost ~]# grep "o\{3,4\}" 1.txt |oooove looove loooooooove
2、擴(kuò)展正則表達(dá)式元字符
# + 匹配1-n個(gè)前導(dǎo)字符 [root@localhost ~]# egrep lo+ve 1.txt love love looove loooooooove # ? 匹配0-1個(gè)前導(dǎo)字符 [root@localhost ~]# egrep lo?ve 1.txt love love # a | b 匹配a或b [root@localhost ~]# egrep "o|v" 1.txt yoa kong duo gou love love # () 組字符 [root@localhost ~]# egrep "love(able|rs)" 1.txt loveable lovers [root@localhost ~]# egrep "loveable|rs" 1.txt loveable lovers
到此這篇關(guān)于Shell正則表達(dá)式(元字符)的使用的文章就介紹到這了,更多相關(guān)Shell 元字符內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
使用shell腳本執(zhí)行hive、sqoop命令的方法
今天小編就為大家分享一篇使用shell腳本執(zhí)行hive、sqoop命令的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2018-06-06shell產(chǎn)生隨機(jī)數(shù)七種方法的實(shí)現(xiàn)
這篇文章主要介紹了shell產(chǎn)生隨機(jī)數(shù)七種方法的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-12-12獲取同一網(wǎng)段下所有機(jī)器MAC地址的shell腳本
有時(shí)候需要在當(dāng)前同一網(wǎng)段下所有機(jī)器MAC地址,需要的朋友可以參考下2013-01-01Linux 刪除文件夾和文件的命令(強(qiáng)制刪除包括非空文件)
linux刪除目錄很簡單,很多人還是習(xí)慣用rmdir,不過一旦目錄非空,就陷入深深的苦惱之中,現(xiàn)在使用rm -rf命令即可。接下來通過本文給大家介紹Linux 刪除文件夾和文件的命令(強(qiáng)制刪除包括非空文件),感興趣的朋友跟隨腳本之家小編一起學(xué)習(xí)吧2018-05-05一天一個(gè)shell命令 linux文本內(nèi)容操作系列-grep命令詳解
這篇文章主要介紹了一天一個(gè)shell命令 linux文本內(nèi)容操作系列-grep命令詳解 ,需要的朋友可以參考下2016-06-06Shell腳本之文件批量創(chuàng)建與修改的簡單方法
有時(shí)需要將文件內(nèi)容進(jìn)行修改,如果文件數(shù)量不多可以一個(gè)一個(gè)修改,那么如果文件數(shù)量很多一個(gè)一個(gè)修改很麻煩,這篇文章主要給大家介紹了關(guān)于Shell腳本之文件批量創(chuàng)建與修改的相關(guān)資料,需要的朋友可以參考下2021-06-06