国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

shell 正則表達(dá)式詳解

這篇具有很好參考價(jià)值的文章主要介紹了shell 正則表達(dá)式詳解。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

目錄

正則表達(dá)式

一,什么是正則表達(dá)式

二,為什么使用正則表達(dá)式

三,如何使用正則表達(dá)式

示例:

四,基本正則表達(dá)式

基本正則表達(dá)式示例:

正則表達(dá)式字符集示例:

五,擴(kuò)展正則表達(dá)式

擴(kuò)展正則表達(dá)式示例:

擴(kuò)展:


正則表達(dá)式

一,什么是正則表達(dá)式

? ? ? ?正則表達(dá)式是通過(guò)一些特殊字符的排列,用以查找、替換、刪除一行或多行文字字符串,簡(jiǎn)單的說(shuō),正則表達(dá)式就是用在字符串的處理上面的一項(xiàng)表示式。由于正則表達(dá)式語(yǔ)法簡(jiǎn)練,功能強(qiáng)大,得到了許多程序設(shè)計(jì)語(yǔ)言的支持,包括Java、C++、Perl以及Shell等。

二,為什么使用正則表達(dá)式

? ? ? ? 在進(jìn)行程序設(shè)計(jì)的過(guò)程中,用戶(hù)會(huì)不可避免地遇到處理某些文本的情況。有的時(shí)候,用戶(hù)還需要查找符某些比較復(fù)雜規(guī)則的字符串。對(duì)于這些情況,如果單純依靠程序設(shè)計(jì)語(yǔ)言本身,則往往會(huì)使得用戶(hù)通過(guò)復(fù)雜的代碼來(lái)實(shí)現(xiàn)。但是,如果使用正則表達(dá)式,則會(huì)以非常簡(jiǎn)短的代碼來(lái)完成。

三,如何使用正則表達(dá)式

? ? ? ?當(dāng)一個(gè)正則表達(dá)式完成之后,并能夠保證這個(gè)表達(dá)式一定是準(zhǔn)確的,需要不斷地測(cè)試才可以確定其正確 與否。在不同的環(huán)境下,用戶(hù)需要不同的工具來(lái)幫助他完成測(cè)試的過(guò)程。如果是在Shell命令行中,用戶(hù) 可以使用grep命令來(lái)測(cè)試。

?grep家族有三大成員分別為

?grep:支持使用基本正則表達(dá)式。

?egrep:支持使用擴(kuò)展正則表達(dá)式。

fgrep:不支持使用正則表達(dá)式,即所有的正則表達(dá)式中的元字符都將作為一般字符,僅僅擁有其字面 意義,不再擁有特殊意義。

???? grep命令的名稱(chēng)來(lái)自于全局搜索正則表達(dá)式并打印文本行(Global Search Regular Expression and Print out the line)的縮寫(xiě)。它是一個(gè)非常古老的UNIX命令,也是一種強(qiáng)大的文本搜索工具。grep命令 使用正則表達(dá)式來(lái)搜索文本,并且把匹配的文本行打印出來(lái)。

???? grep命令根據(jù)用戶(hù)指定的”pattern(過(guò)濾條件)“對(duì)目標(biāo)文本逐行進(jìn)行匹配檢查;打印出符合條件的 行,即文本搜索工具。注:PATTERN即過(guò)濾條件指由文本字符及正則表達(dá)式元字符所編寫(xiě)的字符串。

?grep命令的基本語(yǔ)法如下:grep [options] pattern [file…]

??? ?在上面的語(yǔ)法中,options表示選項(xiàng),選項(xiàng)列表如下表。pattern表示要匹配的模式,file表示一系列的文 件名。grep命令會(huì)從一個(gè)或者多個(gè)文件中搜索滿(mǎn)足指定模式的文本行,并且打印出來(lái)。模式后面的所有的字符串參數(shù)都被看作是文件名。

shell 正則,正則表達(dá)式

示例:

1,? -n :??? 顯示行號(hào)

[root@wangjingjing ~]# ls -l | grep -n num

21:-rw-r--r--. 1 root root? 222 Feb? 1 17:53 num_script.sh

shell 正則,正則表達(dá)式

2,? -o :??? 只顯示匹配的內(nèi)容

[root@wangjingjing ~]# ls -l | grep -o num

num

shell 正則,正則表達(dá)式

3,? -q :?? 靜默模式,沒(méi)有任何輸出,得用$?來(lái)判斷執(zhí)行成功沒(méi)有,即有沒(méi)有過(guò)濾到想要的內(nèi)容

[root@wangjingjing ~]# ls -l | grep -q num
[root@wangjingjing ~]# echo $?
0


shell 正則,正則表達(dá)式

4,? -A :?? 如果匹配成功,則將匹配行及其后n行一起打印出來(lái)

[root@wangjingjing ~]# ls -l | grep num -A 2

-rw-r--r--. 1 root root? 222 Feb? 1 17:53 num_script.sh

drwxr-xr-x. 2 root root??? 6 Dec 31 19:16 Pictures

drwxr-xr-x. 2 root root??? 6 Dec 31 19:16 Public

shell 正則,正則表達(dá)式

5,? ?-B :??? 如果匹配成功,則將匹配行及其前n行一起打印出來(lái)

[root@wangjingjing ~]# ls -l | grep num -B 2
-rw-r--r--. 1 root root ? ?0 Jan 30 11:37 newfile
-rw-r--r--. 1 root root ?171 Jan 30 21:55 newfile.sh
-rw-r--r--. 1 root root ?222 Feb ?1 17:53 num_script.sh

shell 正則,正則表達(dá)式

6,? ?-C :??? 如果匹配成功,則將匹配行及其前后n行一起打印出來(lái)

[root@wangjingjing ~]# ls -l | grep num -C 2

-rw-r--r--. 1 root root??? 0 Jan 30 11:37 newfile

-rw-r--r--. 1 root root? 171 Jan 30 21:55 newfile.sh

-rw-r--r--. 1 root root? 222 Feb? 1 17:53 num_script.sh

drwxr-xr-x. 2 root root??? 6 Dec 31 19:16 Pictures

drwxr-xr-x. 2 root root??? 6 Dec 31 19:16 Public

shell 正則,正則表達(dá)式

7,? ?-c :如果匹配成功,則將匹配到的行數(shù)打印出來(lái) (統(tǒng)計(jì)行數(shù))

[root@wangjingjing ~]# ls -l | grep -c num
1

shell 正則,正則表達(dá)式

--color:???? 高亮顏色顯示匹配到的字符串

--color=never沒(méi)有顏色

--color=always

--color=auto自動(dòng)的顏色

-E:? 支持?jǐn)U展中的表達(dá)式

-e:支持基本的正則表達(dá)式

-P: 對(duì)Perl的正則表達(dá)式的支持

8,? ?-o:只輸出匹配到的內(nèi)容

[root@wangjingjing ~]# ls -l | grep? function

-rw-r--r--. 1 root root? 682 Feb? 3 12:07 function_script.sh

[root@wangjingjing ~]# ls -l | grep -o? function

function

shell 正則,正則表達(dá)式

9,? ?-v :取反,不匹配

[root@wangjingjing ~]# ls -l | grep -v? function

total 72

-rw-r--r--. 1 root root? 331 Feb? 1 20:22 99table_script.sh

-rw-------. 1 root root 1272 Dec 31 19:14 anaconda-ks.cfg

-rw-r--r--. 1 root root? 215 Jan 31 15:27 arg_script.sh

-rw-r--r--. 1 root root? 332 Jan 31 15:28 args_script.sh

drwxr-xr-x. 2 root root?? 36 Jan? 1 11:00 at230101

drwxr-xr-x. 2 root root? 116 Jan? 8 18:15 ca_learning

shell 正則,正則表達(dá)式

10,? ?-w:匹配單詞

[root@wangjingjing 0202]# grep -w hello file.txt

hello

hello world

shell 正則,正則表達(dá)式

四,基本正則表達(dá)式

? ? ? ? 基本正則表達(dá)式(Basic Regular Expression,BRE),又稱(chēng)為標(biāo)準(zhǔn)正則表達(dá)式,是最早制訂的正則表達(dá) 式規(guī)范,僅支持最基本的元字符集?;菊齽t表達(dá)式是POSIX規(guī)范制訂的兩種正則表達(dá)式語(yǔ)法標(biāo)準(zhǔn)之 一,另外一種語(yǔ)法標(biāo)準(zhǔn)稱(chēng)為擴(kuò)展正則表達(dá)式。

shell 正則,正則表達(dá)式

基本正則表達(dá)式示例:

1,? ?^ 在每行的開(kāi)始進(jìn)行匹配

匹配以123為開(kāi)頭的

[root@wangjingjing ~]# echo "123 456 789" | grep ^123

123 456 789

[root@wangjingjing ~]# echo "123 456 789" | grep ^456

[root@wangjingjing ~]#

shell 正則,正則表達(dá)式

2,? ?$ 在每行的末尾進(jìn)行匹配

匹配以789結(jié)尾的

[root@wangjingjing ~]# echo "123 456 789" | grep 789$

123 456 789

[root@wangjingjing ~]# echo "123 456 789" | grep 456$

[root@wangjingjing ~]#

shell 正則,正則表達(dá)式

?

3,? ? ?. 對(duì)任何單個(gè)字符進(jìn)行匹配

匹配ab后面連著任意一個(gè)字符

[root@wangjingjing 0202]# echo "abcdabef" | grep ab.

abcdabef

shell 正則,正則表達(dá)式

匹配ab后面連著任意2個(gè)字符

[root@wangjingjing ~]# echo "abcdabcdabcd" | grep a..

abcdabcdabcd

shell 正則,正則表達(dá)式

4,? ? ?*(量詞) 對(duì)前一項(xiàng)進(jìn)行0次或多次重復(fù)匹配

盡可能多的去匹配(成功的前提下)

多次a

[root@wangjingjing ~]# echo "aaabbbccc" | grep "a*"

Aaabbbccc

0次a

[root@wangjingjing ~]# echo "bbbccc" | grep "a*"

bbbccc

shell 正則,正則表達(dá)式

5,? ? ? ?[str] 對(duì)str中的任何單個(gè)字符進(jìn)行匹配

6,? ? ? ? [a-b] 對(duì)a到b之間的任何字符進(jìn)行匹配

[root@wangjingjing ~]# echo "a" | grep [a-z]

a

[root@wangjingjing ~]# echo "7" | grep [0-9]

7

[root@wangjingjing ~]# echo "m" | grep [a-z]

m

shell 正則,正則表達(dá)式

7,? ???[^str] 對(duì)任何不在str中的單個(gè)字符進(jìn)行匹配

匹配,abc的補(bǔ)集

[root@wangjingjing 0202]# echo "a" | grep [^abc]

[root@wangjingjing 0202]# echo "m" | grep [^abc]

m

shell 正則,正則表達(dá)式

8,? ? ?\ 忽略后面一個(gè)字符的特殊含義

取消.的特殊意義

[root@wangjingjing ~]# echo "3a14" | grep "^3.14"

3a14

[root@wangjingjing ~]# echo "3a14" | grep "^3\.14"

[root@wangjingjing ~]#

shell 正則,正則表達(dá)式

?注意:grep要將{}轉(zhuǎn)義,\{\},egrep不需要轉(zhuǎn)義

9,? ? a{n}: a重復(fù)指定的次數(shù)

[root@wangjingjing 0202]# echo "aaaaaaaa" | grep 'a\{5\}'

aaaaaaaa

[root@wangjingjing 0202]# echo "aaaaaaaa" | egrep 'a{5}'

aaaaaaaa

shell 正則,正則表達(dá)式

10,? ?a{n,m}: 重復(fù)n-m(貪婪的)

對(duì)a第一次匹配(重復(fù))5次,第二次匹配三次

[root@wangjingjing 0202]# echo "aaaaaaaa" | grep 'a\{2,5\}'

aaaaaaaa

shell 正則,正則表達(dá)式

11,? ? a{n,}: 最少重復(fù)n次,最多沒(méi)有限制

貪婪的,重復(fù)最多次

[root@wangjingjing 0202]# echo "aaaaa" | grep 'a\{2,\}'

aaaaa

shell 正則,正則表達(dá)式

12,? ? a{,m}:最多重復(fù)m次,最少?zèng)]有限制

[root@wangjingjing 0202]# echo "aaaaa" | grep 'a\{,2\}'

aaaaa

shell 正則,正則表達(dá)式

13,? ? \(\),定義子表達(dá)式的開(kāi)始和結(jié)束位置。

匹配abcd

[root@wangjingjing 0202]# echo "abcdefbcdcdd" | grep 'a\(b\(c\(d\)\)\)'

abcdefbcdcdd

shell 正則,正則表達(dá)式

匹配abcdef,組1

[root@wangjingjing 0202]# echo "abcdefbcdcdd" | grep 'a\(b\(c\(d\)\)\)ef\1'

abcdefbcdcdd

shell 正則,正則表達(dá)式

匹配abcdefbcd(組1)cd(組2)

[root@wangjingjing 0202]# echo "abcdefbcdcdd" | grep 'a\(b\(c\(d\)\)\)ef\1\2'

abcdefbcdcdd

shell 正則,正則表達(dá)式

14,? ? \\b:錨定詞尾(支持vigrep),其前面的任意字符必須作為單詞尾部出現(xiàn),

只匹配單詞的首尾,不包括特殊符號(hào),除了.?? ?

[root@wangjingjing 0202]# echo "hello" | grep '\bhello\b'

hello

[root@wangjingjing 0202]# echo "helloo" | grep '\bhello.\b'

helloo

shell 正則,正則表達(dá)式

貪婪:盡可能多的去匹配(大前提:匹配成功)

a*: 0-任意多

a?:0-1

a+:1-任意

a{n,m}: n-m

正則表達(dá)式字符集

shell 正則,正則表達(dá)式

正則表達(dá)式字符集示例:

1,? ? [[:alnum:]] 匹配任意一個(gè)字母或者數(shù)字,等價(jià)于[A-Za-z0-9]

[root@wangjingjing 0202]# echo "hello123" | grep '[[:alnum:]]*'
hello123

shell 正則,正則表達(dá)式

[root@wangjingjing 0202]# echo "hello123" | grep '[a-zA-Z0-9]*'

hello123

shell 正則,正則表達(dá)式

2,? ? ?[[:alpha:]] 匹配任意一個(gè)字母,等價(jià)于[A-Za-z]

[root@wangjingjing 0202]# echo "hello123" | grep '[[:alpha:]]*'

hello123

shell 正則,正則表達(dá)式

[root@wangjingjing 0202]# echo "hello123" | grep '[a-zA-Z]*'

hello123

shell 正則,正則表達(dá)式

3,? ? ?[[:digit:]] 匹配任意一個(gè)數(shù)字,等價(jià)于[0-9]

[root@wangjingjing 0202]# echo "hello123" | grep '[[:digit:]]*'

hello123

shell 正則,正則表達(dá)式

[root@wangjingjing 0202]# echo "hello123" | grep '[0-9]]*'

hello123

shell 正則,正則表達(dá)式

4,? ? ?[[:lower:]] 匹配任意一個(gè)小寫(xiě)字母,等價(jià)于[a-z]

[root@wangjingjing 0202]# echo "Hello123" | grep '[[:lower:]]*'

Hello123

shell 正則,正則表達(dá)式

[root@wangjingjing 0202]# echo "Hello123" | grep '[a-z]*'

Hello123

shell 正則,正則表達(dá)式

5,? ? [[:upper:]] 匹配任意一個(gè)大寫(xiě)字母,等價(jià)于[A-Z]

[root@wangjingjing 0202]# echo "Hello123" | grep '[[:upper:]]*'

Hello123

shell 正則,正則表達(dá)式

[root@wangjingjing 0202]# echo "Hello123" | grep '[A-Z]*'

Hello123

shell 正則,正則表達(dá)式

6,? ? ?[[:space:]] 匹配任意一個(gè)空白符,包括空格、制表符、換行符以及分頁(yè)符

空格

[root@wangjingjing 0202]# echo "Hello??? 123" | grep '[[:space:]]*'

Hello??? 123

shell 正則,正則表達(dá)式

制表符(占8位)

[root@wangjingjing 0202]# echo -e "Hello\t\t\t123" | grep '[[:space:]]*'

Hello????????????????????????123

shell 正則,正則表達(dá)式

換行符(grep?? -z 選線(xiàn))

[root@wangjingjing 0202]# echo -e "Hello\n\n123" | grep -z '[[:space:]]*'

Hello

123

shell 正則,正則表達(dá)式

五,擴(kuò)展正則表達(dá)式

? ? ? ?擴(kuò)展正則表達(dá)式(Extended Regular Expression,ERE)支持比基本正則表達(dá)式更多的元字符,但是擴(kuò)展正則表達(dá)式對(duì)有些基本正則表達(dá)式所支持的元字符并不支持。前面介紹的元字符“^”、“$”、“.”、“*”、 “[]”以及“[^]”這6個(gè)元字符在擴(kuò)展正則表達(dá)式都得到了支持,并且其意義和用法都完全相同,不再重復(fù)介紹。接下來(lái)重點(diǎn)介紹一下在擴(kuò)展正則表達(dá)式中新增加的一些元字符。

shell 正則,正則表達(dá)式

擴(kuò)展正則表達(dá)式示例:

1,+? ?對(duì)前一項(xiàng)進(jìn)行1次或多次重復(fù)匹配

[root@wangjingjing 0202]# echo "sssssss" | grep? -E 's+'

sssssss

shell 正則,正則表達(dá)式

2,? ? ???? ?對(duì)前一項(xiàng)進(jìn)行0次或1重復(fù)匹配

[root@wangjingjing 0202]# echo "sssssss" | grep? -E 's?'

sssssss

shell 正則,正則表達(dá)式

3,? ? 匹配單獨(dú)的a

[root@wangjingjing 0202]# echo "sssssss" | grep? -E 's*?'

sssssss

shell 正則,正則表達(dá)式

非貪婪:盡可能少的去匹配

a*?

a+?

a??

a{n,m}?

擴(kuò)展:

1,? ? ?(?:):分組的非捕獲版本

加了?:的不參與分組

[root@wangjingjing 0202]# echo "abcdefgbcd" | grep -Po 'a(?:b(c(d)))efg\1'

shell 正則,正則表達(dá)式

加了?:的不參與分組,組名順延

[root@wangjingjing 0202]# echo "abcdefgcd" | grep -Po 'a(?:b(c(d)))efg\1'

abcdefgcd

shell 正則,正則表達(dá)式

2,? ? ? ? ?給分組命名????? ?p<組名>??????? ?p=組名)

[root@wangjingjing 0202]# echo "abcdefgbcd" | grep -Po 'a(?P<g1>b(c(d)))efg(?P=g1)'

abcdefgbcd

shell 正則,正則表達(dá)式

3,? ? ??#注釋?zhuān)锩娴膬?nèi)容不參與匹配

[root@wangjingjing 0202]# echo "abcdefgbcd" | grep -Po 'a(?#express)(b(c(d)))efg\1'

abcdefgbcd

shell 正則,正則表達(dá)式

4,(?=: 不消耗樣式 lookahead assertion: 前視斷言:他是一個(gè)判定條件,但是不作為結(jié)果范圍,也不消耗內(nèi)容

去匹配,要獲取的是windows,但是只能是windows10的時(shí)候獲取windows

[root@wangjingjing 0202]# echo "windows10" | grep -Po "windows(?=10)"

windows

[root@wangjingjing 0202]# echo "windows10" | grep -Po "windows(?=10)10"

windows10

[root@wangjingjing 0202]# echo "windows98" | grep -Po "windows(?=10)"

[root@wangjingjing 0202]#

shell 正則,正則表達(dá)式

5,? ? ? (?!…)? negative lookahead assertion: 前視預(yù)斷言取反

去匹配,要獲取的是windows,但是只能不是windows10的時(shí)候獲取windows

[root@wangjingjing 0202]# echo "windows10" | grep -Po 'windows(?!10)'

[root@wangjingjing 0202]# echo "windows98" | grep -Po 'windows(?!10)'

windows

[root@wangjingjing 0202]# echo "windows98" | grep -Po 'windows(?!10)98'

windows98

shell 正則,正則表達(dá)式

6,? ? ? ?(?<=…): positive lookbehind assertion: 后視斷言

只有windows前邊是10的時(shí)候,才匹配成功,也是返回windows

ot@wangjingjing 0202]# echo "10windows" | grep -Po '(?<=10)windows'

windows

[root@wangjingjing 0202]# echo "10windows" | grep -Po '10(?<=10)windows'

10windows

[root@wangjingjing 0202]# echo "10windows" | grep -Po '98(?<=10)windows'

[root@wangjingjing 0202]#

shell 正則,正則表達(dá)式

7,? ? ? ?(?<!…): positive lookbehind assertion: 后視斷言取反

只有windows前邊是10的時(shí)候,才匹配成功,也是返回windows

[root@wangjingjing 0202]# echo "10windows" | grep -Po '(?<!10)windows'

[root@wangjingjing 0202]# echo "10windows" | grep -Po '10(?<!10)windows'

[root@wangjingjing 0202]# echo "98windows" | grep -Po '(?<!10)windows'

windows

[root@wangjingjing 0202]# echo "98windows" | grep -Po '98(?<!10)windows'

98windows

shell 正則,正則表達(dá)式

8,? ? ? ?A|B: 匹配A或者BAB都是正則表達(dá)式

[root@wangjingjing 0202]# egrep "^h|o$" file.txt

hello

hi

hello world

shell 正則,正則表達(dá)式文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-795804.html

到了這里,關(guān)于shell 正則表達(dá)式詳解的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶(hù)投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • Shell編程基礎(chǔ)(十三)正則表達(dá)式

    格式:^ 表達(dá)式 $ 在不同的場(chǎng)景下,定義是一樣,但使用要按照具體的命令去調(diào)用,中間的表達(dá)式都是通用的 普通元字符 所謂元數(shù)據(jù),就是描述數(shù)據(jù)的數(shù)據(jù),在這里就是描述正則的數(shù)據(jù) ^ 表示正則從字符串 整行 起始位置匹配 ^abc 匹配 以abc開(kāi)始的字符串 $ 表示正則一直匹配到

    2024年02月14日
    瀏覽(23)
  • Shell通配符和正則表達(dá)式

    Shell通配符和正則表達(dá)式

    目錄 ???????grep 通配符 正則表達(dá)式 grep家族有三大成員分別為: ????????grep:支持使用基本正則表達(dá)式。 ????????egrep:支持使用擴(kuò)展正則表達(dá)式。 ????????fgrep:不支持使用正則表達(dá)式,即所有的正則表達(dá)式中的元字符都將作為一般字符,僅僅 擁有其字

    2024年02月16日
    瀏覽(18)
  • Shell腳本攻略:通配符、正則表達(dá)式

    Shell腳本攻略:通配符、正則表達(dá)式

    目錄 一、理論 1.通配符 2.正則表達(dá)式 二、實(shí)驗(yàn) 1.通配符 2.正則表達(dá)式 (1)概念 通配符只用于匹配文件名、目錄名等,不能用于匹配文件內(nèi)容,而且是已存在的文件或者目錄。 各個(gè)版本的shell都有通配符,這些通配符是一些特殊的字符, 用戶(hù)可以在命令行的參數(shù)中使用這些

    2024年02月07日
    瀏覽(25)
  • Linux:shell腳本 正則表達(dá)式與AWK

    Linux:shell腳本 正則表達(dá)式與AWK

    目錄 ? 一、正則表達(dá)式 1.2元字符 ?1.3表示次數(shù) 1.4位置錨定 1.5分組或其他 1.6擴(kuò)展正則表達(dá)式 1.7grep 二、AWK awk -F ?編輯三、sed 1.sed簡(jiǎn)介 2.sed工作流程 3.sed命令格式 3.1打印全部?jī)?nèi)容 ?3.2 查看文件,打印全部?jī)?nèi)容 ?3.3打印指定行內(nèi)容 3.4支持正則表達(dá)式,打印范圍內(nèi)容? 3.5#,/關(guān)

    2024年02月12日
    瀏覽(28)
  • Shell 正則表達(dá)式及綜合案例及文本處理工具

    Shell 正則表達(dá)式及綜合案例及文本處理工具

    ?目錄 一、常規(guī)匹配 二、常用特殊字符 三、匹配手機(jī)號(hào) 四、案例之歸檔文件 五、案例之定時(shí)歸檔文件 六、Shell文本處理工具 1. cut工具 2. awk工具 一串不包含特殊字符的正則表達(dá)式匹配它自己 例子,比如說(shuō)想要查看密碼包含root字符串的,可以這樣寫(xiě) cat /etc/passwd | grep root 特

    2024年01月17日
    瀏覽(70)
  • shell之正則表達(dá)式及三劍客grep命令

    shell之正則表達(dá)式及三劍客grep命令

    什么是正則表達(dá)式? 正則表達(dá)式是一種描述字符串匹配規(guī)則的重要工具 1、正則表達(dá)式定義: 正則表達(dá)式,又稱(chēng)正規(guī)表達(dá)式、常規(guī)表達(dá)式 使用字符串描述、匹配一系列符合某個(gè)規(guī)則的字符串 普通字符: 大小寫(xiě)字母、數(shù)字、標(biāo)點(diǎn)符號(hào)及一些其它符號(hào) 元字符: 在正則表達(dá)式中具

    2024年02月12日
    瀏覽(90)
  • Linux:shell腳本:基礎(chǔ)使用(4)《正則表達(dá)式-grep工具》

    Linux:shell腳本:基礎(chǔ)使用(4)《正則表達(dá)式-grep工具》

    正則表達(dá)式定義: ? ? ? ? 使用單個(gè)字符串來(lái)描述,匹配一系列符合某個(gè)句法規(guī)則的字符串 正則表達(dá)式的組成: ? ? ? ? 普通字符串: 大小寫(xiě)字母,數(shù)字,標(biāo)點(diǎn)符號(hào)及一些其他符號(hào) ? ? ? ? 元字符:在正則表達(dá)式中具有特殊意義的專(zhuān)用字符 正則表達(dá)式不能單獨(dú)使用,需要配

    2024年02月12日
    瀏覽(19)
  • Linux:shell腳本:基礎(chǔ)使用(6)《正則表達(dá)式-awk工具》

    Linux:shell腳本:基礎(chǔ)使用(6)《正則表達(dá)式-awk工具》

    awk是行處理器: 相比較屏幕處理的優(yōu)點(diǎn),在處理龐大文件時(shí)不會(huì)出現(xiàn)內(nèi)存溢出或是處理緩慢的問(wèn)題,通常用來(lái)格式化文本信息 awk處理過(guò)程: 依次對(duì)每一行進(jìn)行處理,然后輸出 1)awk命令會(huì)逐行讀取文件的內(nèi)容進(jìn)行處理 2)awk以’:’為分隔符,將第1行數(shù)據(jù)格式化為7段,每段數(shù)

    2024年02月12日
    瀏覽(23)
  • linux中shell腳本——shell數(shù)組、正則表達(dá)式及文件三劍客之AWK

    linux中shell腳本——shell數(shù)組、正則表達(dá)式及文件三劍客之AWK

    目錄 一.shell數(shù)組 1.1.數(shù)組分類(lèi) 1.2.定義數(shù)組方法 二.正則表達(dá)式 2.1.元字符 2.2.表示次數(shù) 2.3.位置錨定 2.4.分組 2.5.擴(kuò)展正則表達(dá)式 三.文本三劍客之AWK 3.1.awk介紹及使用格式 3.2.處理動(dòng)作 3.3.awk選項(xiàng) 3.4.awk處理模式 2.5.awk常見(jiàn)的內(nèi)置變量? 2.6.if條件判斷 1.1.數(shù)組分類(lèi) ①關(guān)聯(lián)數(shù)組:必

    2024年02月12日
    瀏覽(97)
  • 【Linux命令行與Shell腳本編程】第十九章 正則表達(dá)式

    【Linux命令行與Shell腳本編程】第十九章 正則表達(dá)式

    正則表達(dá)式基礎(chǔ) 定義BRE模式 擴(kuò)展正則表達(dá)式 在sed和gawk中創(chuàng)建正則表達(dá)式,以得到所需的數(shù)據(jù)。 正則表達(dá)式是一種可供Linux工具過(guò)濾文本的自定義模板,使用元字符來(lái)描述數(shù)據(jù)流中的一個(gè)或多個(gè)字符. Linux工具(比如sed或gawk)會(huì)在讀取數(shù)據(jù)時(shí)使用正則表達(dá)式對(duì)數(shù)據(jù)進(jìn)行模式匹配

    2024年02月13日
    瀏覽(24)

覺(jué)得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包