日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 运维知识 > linux >内容正文

linux

Linux中的shell正则表达式详解

發(fā)布時(shí)間:2025/3/12 linux 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Linux中的shell正则表达式详解 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

Shell中使用正則表達(dá)式處理文本的命令有如下工具:

命令描述
grep默認(rèn)不支持?jǐn)U展表達(dá)式,加-E選項(xiàng)開(kāi)啟ERE。如果不加-E,此時(shí)使用花括號(hào)時(shí)要加轉(zhuǎn)義符:\{\}
egrep支持基礎(chǔ)和擴(kuò)展表達(dá)式
awk支持基礎(chǔ)和擴(kuò)展表達(dá)式
sed默認(rèn)不支持?jǐn)U展表達(dá)式,加-r選項(xiàng)開(kāi)啟ERE。如果不加-r,此時(shí)使用花括號(hào)時(shí)要加轉(zhuǎn)義符:\{\}

注:-E 選項(xiàng)為擴(kuò)展的正則表達(dá)式:支持+、?、|、()

. 匹配除換行符(\n)之外的任意單個(gè)字符

echo -e "123\n456" | grep "1.3" # 顯示 123

^ 匹配以xxx字符(串)開(kāi)頭所在的行

echo -e "abc\nxyz" | grep "^ab" # 顯示 abc

$ 匹配以xxx字符(串)結(jié)尾所在的行

echo -e "abc\nxyz" | grep "z$" # 顯示 xyz

* 匹配前一個(gè)字符0個(gè)或多個(gè)

echo -e "x\nxo\nxoo\no\noo" |grep "xo*" # 顯示 x/xo/xoo

+ 匹配前一個(gè)字符1個(gè)或多個(gè)

# grep -E 該選項(xiàng)為拓展的正則表達(dá)式,支持 + ? | 和 () echo -e "abc\nabbc\nac" | grep -E "ab+c" # 顯示 abc/abbc

? 匹配前一個(gè)字符0個(gè)或1個(gè)

echo -e "abc/abbc/ac" | grep -E "ab?c" # 顯示 abc/ac

[ ] 匹配中括號(hào)中的任意一個(gè)字符

echo -e "abd\ncdf\nghj" | grep "[ac]" # 顯示 abd/cdf

[.-.] 匹配中括號(hào)中范圍內(nèi)的任意一個(gè)字符

echo -e "abc\nxyz" | grep "[a-z]" # 顯示 abc/xyz

[^.] 匹配非中括號(hào)中字符(串)之外的任意一個(gè)字符(串)

echo -e "a\nb\nc" | grep "[^a]" # 顯示 b/c

^[^.] 匹配以非中括號(hào)中字符(串)開(kāi)頭的行

echo -e "abc\nxyz" | grep "^[^a]" # 顯示 xyz

{n,}或{n} 匹配前面的字符至少 n次

echo -e "abc\nabcc\nabccc\nabcccc" | grep -E "c{2}" # 顯示 abcc/abccc/abcccc

{n,m} 匹配前面的字符至少 n次至多m次

# -w 只選擇與整個(gè)單詞相匹配的行 # 注意m與前面的逗號(hào)之間沒(méi)有空格 echo -e "abc\nabcc\nabccc\nabcccc" | grep -E -w "abc{2,3}" # 顯示 abcc/abccc

\< 邊界符,匹配行的開(kāi)始

# 匹配以ab開(kāi)始的行 echo -e "abc\nabcc\ncab" | grep -E "\<ab" # 顯示 abc/abcc

\> 邊界符,匹配行的結(jié)尾

# 匹配以ab結(jié)束的行 echo -e "abc\nabcc\ncab" | grep -E "bc\>" # 顯示 abc

| 匹配豎杠兩邊兩個(gè)字符中的任意一個(gè)

echo -e "a\nb\nc" | grep -E "b|c" # 顯示 b/c

\ 轉(zhuǎn)義符,將特殊符號(hào)轉(zhuǎn)成字面意義上的字符

echo -e "1.2" | grep -E "1\.2" # 顯示 1.2

Posix字符

Posix字符描述
[:alnum:]等效于[a-zA-Z0-9]
[:alpha:]等效于[a-zA-Z]
[:lower:]等效于[a-z]
[:upper:]等效于[A-Z]
[:digit:]等效于[0-9]
[:lower:]等效于[a-z]
[:space:]匹配任意空白字符,等效于[\t\n\f\v]
[:graph:]非空白字符
[:blank:]空格與定位字符
[:contrl:]控制字符
[:print:]可顯示的字符
[:punct:]標(biāo)點(diǎn)符號(hào)字符
[:xdigit:]十六進(jìn)制
示例echo -e "123\n1234a" | grep "[[:digit:]]" # 匹配所有包含數(shù)字的行
支持的特殊字符描述
\w匹配任意數(shù)字和字母, 等效于[a-zA-Z0-9_]
\W與\w相反,等效于[^a-zA-Z0-9_]
\b匹配字符串開(kāi)始或結(jié)束,等效于\<和\>
\s匹配任意的空白字符
\S匹配任意的非空白字符
示例echo -e "Hello\n123" | grep "\w" # 匹配Hello和123
空白符描述
\n換行符
\r回車符
\t水平制表符
\v垂直制表符
\0空值符
\b退格符

參考:《Shell入門(mén)到精通》作者:李振良

總結(jié)

以上是生活随笔為你收集整理的Linux中的shell正则表达式详解的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 麻豆区1免费 | 黄色同人网站 | 99性视频| 成人午夜毛片 | 国产传媒一级片 | 欧美电影一区二区三区 | 日韩在线91 | 中文黄色片| 色人阁av | 91精品一区二区 | 大陆熟妇丰满多毛xxxⅹ | 久在线观看 | 三级自拍视频 | 成人片在线播放 | 99国产精品久久久久99打野战 | 人人干人人看 | 国产精品999在线观看 | 理论片第一页 | 在线观看a视频 | 日本少妇一级 | 91精品国产一区二区三竹菊影视 | 色又色| 亚洲熟女乱综合一区二区 | 蜜臀久久99精品久久久画质超高清 | 久久久久国产视频 | 日韩新片王网 | 日日爱夜夜爱 | 黄瓜视频色版 | 久久久精品视频免费 | 伊人婷婷色 | 国产日韩欧美综合 | 成人www| 一本色道久久88亚洲精品综合 | 午夜av激情 | 中文字幕一区二区三区电影 | av在线免费观看不卡 | 96在线视频 | 久草在在线视频 | 日韩av毛片在线观看 | 森泽佳奈作品在线观看 | 国产亚洲视频在线 | 亚洲色图欧美另类 | 久久七 | 白丝美女被草 | 夜夜草av| 播播开心激情网 | 原来神马电影免费高清完整版动漫 | 国产精品高清无码在线观看 | 欧美一级射 | 一本大道久久精品 | 国产精品久久一区二区三区 | 国产中文字幕91 | 丰满少妇一区 | www.尤物 | 国产交换配乱淫视频免费 | 伦伦影院午夜理伦片 | 日韩aⅴ视频 | 内地级a艳片高清免费播放 91在线精品一区二区 | 男人的天堂2018 | 久久久久香蕉视频 | 免费在线视频观看 | 国产 日韩 欧美 在线 | 欧美wwwwww | 欧美黄色性视频 | 91调教打屁股xxxx网站 | 欧美wwwwww| 欧美激情一区二区三区蜜桃视频 | 成人在线免费网站 | 在线观看视频99 | 中国一级黄色 | 97在线国产 | www.久久成人 | 岛国精品资源网站 | 爱爱短视频 | 曰韩av | 一区二区三区在线免费视频 | 中文国语毛片高清视频 | 黄色片毛片 | 99精品欧美一区二区 | a级成人毛片 | 欧美v视频 | chien国产乱露脸对白 | 国产精品免费一区二区区 | 少妇又紧又爽视频 | 五月婷婷六月天 | 这里只有精品免费视频 | 亚洲午夜不卡 | 99re只有精品 | 色婷婷av久久久久久久 | 国产99在线 | 亚洲 | 色偷偷av| 久久桃色| 91新网站 | 国产91边播边对白在线 | 婷婷成人综合 | 8090av| 亚洲美女毛片 | 三级免费网址 | 50度灰在线 |