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

Shell編程之正則表達(dá)式

這篇具有很好參考價值的文章主要介紹了Shell編程之正則表達(dá)式。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

1、正則表達(dá)式與通配符

Linux中的正則表達(dá)式(regular expression)和通配符(wildcard)都是用于匹配字符串的工具,但它們之間存在一些區(qū)別和應(yīng)用場景的不同。

正則表達(dá)式是描述一種字符串匹配的模式,通過特殊的字符和語法,可以檢查一個字符串是否匹配某種模式,匹配成功后可以進(jìn)行子串替換、取出符合條件的子串等操作。
比如,使用正則表達(dá)式 runoo+b 可以匹配 runoob、runooob、runoooooob 等字符串,其中 + 表示匹配前面的字符 o 至少一次。Linux系統(tǒng)中常用的正則表達(dá)式引擎包括grep、sed和awk等。

通配符主要用于匹配文件名或路徑名,在Linux系統(tǒng)中通配符可以用來快速查找符合特定規(guī)則的文件名或路徑名。在通配符中,星號 (*) 代表匹配任意長度的任意字符,問號 (?) 代表匹配任意單個字符。
比如,使用通配符 *.txt 可以查找當(dāng)前目錄下所有后綴為 .txt 的文件。除此之外,Linux系統(tǒng)中還有一些其他的通配符,如方括號([])、花括號({})等,可用于更靈活的匹配。

雖然 Linux 中的正則表達(dá)式和通配符都可以用于字符串匹配,但正則表達(dá)式支持更加復(fù)雜的規(guī)則和語法,可以實現(xiàn)更加精確的匹配,通配符相對來說則較為簡單,只能進(jìn)行基本的字符串匹配以及文件名或路徑名匹配。

2、基礎(chǔ)正則表達(dá)式

在 Linux 中,基礎(chǔ)正則表達(dá)式是指 Basic Regular Expressions (BRE),其特點是使用一些基本的元字符來匹配字符串。
以下是一些基礎(chǔ)的元字符及其作用

  • . :匹配任意單個字符。比如 a.c 可以匹配 abc、adc、axc 等字符串。
  • ^ :匹配行首字符。比如 ^hello 可以匹配行首為 hello 的字符串。
  • $ :匹配行尾字符。比如 hello$ 可以匹配行末為 hello 的字符串。
  • [] :字符集,匹配其中的任意一個字符。比如 [abc] 匹配 a 或 b 或 c。
  • [^] :否定字符集,匹配不在其中的任意一個字符。比如 [^abc] 匹配除 a、b、c 以外的任意一個字符。
  • \ :轉(zhuǎn)義字符,可以將特殊字符轉(zhuǎn)義為普通字符,例如 \. 可以匹配 . 字符本身。
  • * :匹配前面的字符零次或多次。比如 ho*l 可以匹配 hl、hol、hool 等字符串。
  • \{m\} :匹配前面的字符 m 次。比如 ho\{2\}l 匹配 hool,但不匹配 hol 或 hoool。
  • \{m,\} :匹配前面的字符至少 m 次。比如 ho\{2,\}l 匹配 hool、hoool、hoooooool 等字符串。
  • \{m,n\} :匹配前面的字符至少 m 次,至多 n 次。比如 ho\{2,4\}l 匹配 hool、hoool、hoooool,但不匹配 hol 或 hoooooool。
  • () :用于分組操作,例如 (abc)+ 表示匹配一個或多個 abc。
  • | :用于選擇操作,例如 cat|dog 可以匹配 cat 或 dog。

舉例:

查找包含 he 并以 l 結(jié)尾的行:

grep 'he.*l$' test.txt

查找包含三個連續(xù)小寫字母的單詞:

grep '[a-z]\{3\}' test.txt

查找包含至少三個連續(xù)小寫字母的單詞:

grep '[a-z]\{3,\}' test.txt

查找包含兩到五個連續(xù)小寫字母的單詞:

grep '[a-z]\{2,5\}' test.txt

查找包含 a, e, 或 i 中的任意一個字符的單詞 and 查找不包含 a, e, 或 i 中的任意一個字符的單詞:

grep '[aei]' test.txt
grep '[^aei]' test.txt

查找以 c 開頭,以 t 結(jié)尾,并在中間包含兩個字母的單詞:

grep '^c(..)t$' test.txt

查找包含 e 或 l 的行:文章來源地址http://www.zghlxwxcb.cn/news/detail-429288.html

grep 'e|l' test.txt

到了這里,關(guān)于Shell編程之正則表達(dá)式的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

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

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

相關(guān)文章

  • 【shell編程入門】正則表達(dá)式

    特殊字符 描述 [] 方括號表達(dá)式,表示匹配的字符集合,例如? [0-9] 、 [abcde] () 標(biāo)記子表達(dá)式起止位置 * 匹配前面的子表達(dá)式零或多次 + 匹配前面的子表達(dá)式一或多次 ? 匹配前面的子表達(dá)式零或一次 轉(zhuǎn)義字符,除了常用轉(zhuǎn)義外,還有: b ?匹配單詞邊界; B ?匹配非單詞邊

    2024年01月23日
    瀏覽(21)
  • Shell編程基礎(chǔ)(十三)正則表達(dá)式

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

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

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

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

    2024年02月13日
    瀏覽(24)
  • Linux Shell 腳本編程學(xué)習(xí)之【第3章 正則表達(dá)式 (第一部分)】

    1、正則表達(dá)式是由一串字符和元字符構(gòu)成的字符串,簡稱 RE(Regular Expression)。 2、正則表達(dá)式起到數(shù)據(jù)過濾作用。 3、POSIX 標(biāo)準(zhǔn)將正則表達(dá)式分為兩類:基本的正則表達(dá)式和擴(kuò)展的正則表達(dá)式,大部分 Linux 應(yīng)用和工具僅支持基本的正則表達(dá)式。 Linux Shell 以一串字符作為表達(dá)式

    2024年02月16日
    瀏覽(24)
  • Linux Shell 腳本編程學(xué)習(xí)之【第3章 正則表達(dá)式 (第二部分) grep命令】

    1、文本搜索工具 2、GREP 是Global search Regular Expression and Print out the line的簡稱,即全面搜索正則表達(dá)式并把行打印出來。 3、grep命令的模式十分靈活,可以是字符串,也可以是變量,還可以是正則表達(dá)式。模式中包含空格,則必須用雙引號括起來。 選 項 意 義 -c 只輸出匹配行

    2024年02月16日
    瀏覽(19)
  • shell 正則表達(dá)式詳解

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

    目錄 正則表達(dá)式 一,什么是正則表達(dá)式 二,為什么使用正則表達(dá)式 三,如何使用正則表達(dá)式 示例: 四,基本正則表達(dá)式 基本正則表達(dá)式示例: 正則表達(dá)式字符集示例: 五,擴(kuò)展正則表達(dá)式 擴(kuò)展正則表達(dá)式示例: 擴(kuò)展: ? ? ? ?正則表達(dá)式是通過一些特殊字符的排列,

    2024年01月17日
    瀏覽(21)
  • shell腳本正則表達(dá)式

    shell腳本正則表達(dá)式

    聲明: 以下內(nèi)容為個人筆記,內(nèi)容不完全正確,請謹(jǐn)慎參考。 含義: 正則表達(dá)式使用的每個單獨字符串來描述、匹配一些列符合語法規(guī)則的字符串。在很多文本編輯器里,正則表達(dá)式通常被用來檢索、替換那些符合某個模式的文本。在Linux中,grep,sed,awk等文本處理工具都支

    2024年04月22日
    瀏覽(29)
  • Linux Shell :正則表達(dá)式

    Linux Shell :正則表達(dá)式

    先來看一句 Shell 代碼: dpkg --list : dpkg 是 Debian 系列 Linux 發(fā)行版(如 Ubuntu)的包管理工具。 --list 選項用于列出所有已安裝的軟件包。 | :這是一個管道符號,用于將前一個命令的輸出作為后一個命令的輸入。在這里, dpkg --list 的輸出被直接傳遞給 grep 命令。 grep -E -o \\\'cu

    2024年02月08日
    瀏覽(49)
  • 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簡介 2.sed工作流程 3.sed命令格式 3.1打印全部內(nèi)容 ?3.2 查看文件,打印全部內(nèi)容 ?3.3打印指定行內(nèi)容 3.4支持正則表達(dá)式,打印范圍內(nèi)容? 3.5#,/關(guān)

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

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

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

    2024年01月17日
    瀏覽(71)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

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

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包