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

Shell腳本攻略:通配符、正則表達式

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

目錄

一、理論

1.通配符

2.正則表達式

二、實驗

1.通配符

2.正則表達式


一、理論

1.通配符

(1)概念

通配符只用于匹配文件名、目錄名等,不能用于匹配文件內容,而且是已存在的文件或者目錄。

各個版本的shell都有通配符,這些通配符是一些特殊的字符,
用戶可以在命令行的參數(shù)中使用這些字符,進行文件名或者路徑名的匹配。
shell將把與命令行中指定的匹配規(guī)則符合的所有文件名或者路徑名作為命令的參數(shù),
然后執(zhí)行這個命令。

(2)通配符

表1 常用通配符

通配符 功能
* 通配符匹配任意一個或多個字符
? 通配符匹配一個任意字符
[] [list]匹配list中任意單個字符

2.正則表達式

(1)概念

正則表達式英文為REGEXP(Regular Expressions),它是由一類特殊字符及文本字符所編寫的模式,其中有些字符(元字符)不表示字符字面意義,而表示控制或通配的功能,
類似于增強版的通配符功能,但與通配符不同,通配符功能是用來處理文件名,而正則表達式是處理文本內容中字符。

注意事項:使用正則表達式必須加引號。

(2)元字符

表2 常用元字符

元字符 功能
. 匹配任意單個字符,可以是一個漢字
() 使用轉義符,只表示\(\)
[] ?匹配指定范圍內的任意單個字符,示例:[dn] ?[0-9] ?[] ?[a-zA-Z] ? [:alpha:]
[^]? 匹配指定范圍外的任意單個字符,示例:[^dn] [^a.z]
[:alnum:] 字母和數(shù)字 [0-9] [a-z] [0-9] [a-z]
[:alpha:] 代表任何英文大小寫字符,亦即 [A-Z], [a-z]
[:lower:]? 小寫字母,示例:[[:lower:]],相當于[a-z]
[:upper:]? 大寫字母 [A-Z]
[[:blank:]] 空白字符(空格和制表符)
[:space:] 包括空格、制表符(水平和垂直)、換行符、回車符等各種類型的空白,比[:blank:]包含的范圍廣
[:cntrl:] 不可打印的控制字符(退格、刪除、警鈴...)
[:digit:] 十進制數(shù)字
[:xdigit:] 十六進制數(shù)字
[:graph:] 可打印的非空白字符
[:print:] [:print:] 可打印字符
[:punct:] 標點符號
\w 匹配單詞構成部分,等價于[_[:alnum:]]
\W 匹配非單詞構成部分,等價于[^_[:alnum:]]
\S? 匹配任何非空白字符。等價于 [^ \f\n\r\t\v]。
\s 匹配任何空白字符,包括空格、制表符、換頁符等等。等價于 [ \f\n\r\t\v]。

(2)表示次數(shù)

表3 表示次數(shù)

次數(shù)字符 功能
* 匹配前面的字符任意次,包括0次,貪婪模式:盡可能長的匹配
.* 任意長度的任意字符,不包括0次,也就是匹配所有
\? 匹配其前面的字符出現(xiàn)0次或1次,即:可有可無
\+ 匹配其前面的字符出現(xiàn)最少1次,即:肯定有且 >=1 次
\{n\}? 匹配前面的字符=n次
\{m,n\} 匹配前面的字符至少m次,至多n次
\{,n\} 匹配前面的字符至多n次,<=n?
\{n,\}? 匹配前面的字符至少n次

(3)位置錨定

表4 位置錨定

位置字符 功能
^ 表示以什么字符開頭的行。
$ 表示以什么字符為結尾的行。
^PATTERN$ 表示用于模式匹配整行 (單獨一行 ?只有PATTERN字符)。
^$ 表示空行。
\< 或 \b? 詞首錨定,用于單詞模式的左側(連續(xù)的數(shù)字,字母,下劃線都算單詞內部)。
\> 或 \b? 詞尾錨定,用于單詞模式的右側。
\<PATTERN\>?? \<PATTERN\> ??

(4)分組

()將多個字符捆綁在一起當做一個整體處理

(5)擴展正則表達式

? ? ? ① 使用方法

grep? -E選項加正則表達式內容,與正常正則表達式區(qū)別在于不用在匹配時添加 \?

? ? ? ② 表示次數(shù)

表5 擴展正則表達式表示次數(shù)

表示次數(shù) 功能
*? 匹配前面字符任意次
? 0或1次
+? 1次或多次
{n} 匹配n次
{m,n} 至少m,至多n次
{,n} 匹配前面的字符至多n次,<=n,n可以為0
{n,} 匹配前面的字符至少n次,<=n,n可以為0

? ? ? ?③ 表示分組

? ? ? ? ? () 分組

二、實驗

1.通配符

(1)匹配任意一個或多個字符? *

Shell腳本攻略:通配符、正則表達式

(2)匹配一個任意字符? ?

Shell腳本攻略:通配符、正則表達式

(3)匹配列表中任意單個字符 []

Shell腳本攻略:通配符、正則表達式

2.正則表達式

(1)在正則表達式中表示任意單個字符? ?.

Shell腳本攻略:通配符、正則表達式

Shell腳本攻略:通配符、正則表達式

?Shell腳本攻略:通配符、正則表達式

(2)在正則表達式中表示匹配[ ]中任意一個字符? ?[ ]

Shell腳本攻略:通配符、正則表達式

(3)在正則表達式中表示匹配[?]中外的任意單個字符? ?[^]

?Shell腳本攻略:通配符、正則表達式

?(4) 元字符:

代表任何英文大小寫字符 [:alpha:]?

字母和數(shù)字 [:alnum:]?

小寫字母 [:lower:]?

大寫字母 [:upper:]

Shell腳本攻略:通配符、正則表達式

?(5)表示匹配前面字符任意次,包括0次? *? ? ?

Shell腳本攻略:通配符、正則表達式

? ? ? ? ?表示匹配前面字符任意次,不包括0次? .*

Shell腳本攻略:通配符、正則表達式

?(6)表示匹配前面的字符1次或0次,即可有可無? \?

Shell腳本攻略:通配符、正則表達式

?(7)表示匹配前面的字符最少1次? \+

Shell腳本攻略:通配符、正則表達式

?(8)表示匹配前面的字符n次?? \{n\}

Shell腳本攻略:通配符、正則表達式

?(9)表示匹配前面的字符最少m次最多n次? \{m,n\}

Shell腳本攻略:通配符、正則表達式

? ?(10)? 表示匹配前面的字符最少m次?? \{m,\}

Shell腳本攻略:通配符、正則表達式

? ?(11)?表示匹配前面的字符最多n次?? \{,n\}

Shell腳本攻略:通配符、正則表達式文章來源地址http://www.zghlxwxcb.cn/news/detail-468924.html

到了這里,關于Shell腳本攻略:通配符、正則表達式的文章就介紹完了。如果您還想了解更多內容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網(wǎng)!

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

領支付寶紅包贊助服務器費用

相關文章

  • SHELL 基礎 入門(三) Bash 快捷鍵 命令執(zhí)行順序,詳解通配符

    SHELL 基礎 入門(三) Bash 快捷鍵 命令執(zhí)行順序,詳解通配符

    目錄 Bash 常用快捷鍵? 輸入輸出重定向? 用法? 輸出重定向? 命令執(zhí)行順序? ;? 分號 ||? 通配符? 傳統(tǒng)通配符? ? \\\'? *? \\\'? [? ]?? [ - ]?? [ ^ ] 常用字符? 強調 : {? }? ?生成序列? Ctrl + A? ? 把光標移動到命令行開頭 Ctrl + E? ? 把光標移動到命令行尾? Ctrl + D? ? 退出當前

    2024年02月11日
    瀏覽(44)
  • Linux詳解:通配符

    Linux詳解:通配符

    Linux是一款開源操作系統(tǒng),其靈活性和可定制性一直受到開發(fā)者的喜愛和追捧。而且,Linux在文件管理方面提供了豐富的功能,例如通配符,它是一種用于匹配文件名的特殊字符。通配符在Linux中可以幫助我們更加方便和快捷地查找和操作文件。本文將介紹Linux中常用的通配符

    2024年02月09日
    瀏覽(56)
  • 【類型通配符】

    為了表示各種泛型List的父類,可以使用類型通配符 類型通配符:? List?:表示元素類型未知的List,它的元素可以匹配任何的類型 這種帶通配符的List僅表示它是各種泛型List的父類,并不能把元素添加到其中 如果不想讓List?是任何泛型的父類,只想讓它代表某一類泛型List的父

    2024年02月17日
    瀏覽(57)
  • Elasticsearch 通配符查詢

    通配符查詢(wildcard query) 匹配字段被通配符表達式(沒有被分析)匹配的文檔。支持的通配符為*(匹配任意字符序列,包括空字符序列)以及?(匹配任意單字符)。注意,此查詢可能會很慢,它需要迭代許多字段值。為了防止極慢的通配符匹配,通配符字段值不能以一個

    2024年02月11日
    瀏覽(28)
  • 活用 命令行通配符

    活用 命令行通配符

    本文是對 阮一峰老師 命令行通配符教程 [1] 的學習與記錄 通配符早于正則表達式出現(xiàn),可以看作是原始的正則表達式. 其功能沒有正則那么強大靈活,而勝在簡單和方便. - 字符 切回上一個路徑/分支 如圖: !! 代表上一個命令, 如圖: [Linux中“!\\\"的神奇用法](https://www.cnblogs.com/bian

    2024年02月10日
    瀏覽(25)
  • 泛型的通配符

    泛型的通配符

    類型的上界決定了泛型的范圍。 我們發(fā)現(xiàn)指定了泛型的上界為數(shù)值類Number時,傳入Boolean類型就會報錯。 如果沒有指定類型的邊界,可以認可 T extends Object,當指定了某個類型為上界,那么只接受某類型本身和子類型作為E的類型實參 我們要實現(xiàn)一個類去找數(shù)組的一個的最大值

    2023年04月08日
    瀏覽(21)
  • 16-字符串通配符

    題目 問題描述: 在計算機中,通配符一種特殊語法,廣泛應用于文件搜索、數(shù)據(jù)庫、正則表達式等領域?,F(xiàn)要求各位實現(xiàn)字符串通配符的算法。 要求: 實現(xiàn)如下2個通配符: *:匹配0個或以上的字符(注:能被*和?匹配的字符僅由英文字母和數(shù)字0到9組成,下同) ?:匹配

    2024年02月15日
    瀏覽(22)
  • 【算法題】44. 通配符匹配

    給你一個輸入字符串 (s) 和一個字符模式 (p) ,請你實現(xiàn)一個支持 \\\'?\\\' 和 \\\'*\\\' 匹配規(guī)則的通配符匹配: \\\'?\\\' 可以匹配任何單個字符。 \\\'*\\\' 可以匹配任意字符序列(包括空字符序列)。 判定匹配成功的充要條件是:字符模式必須能夠 完全匹配 輸入字符串(而不是部分匹配)。 ?

    2024年01月25日
    瀏覽(19)
  • 44. 通配符匹配(動態(tài)規(guī)劃)

    Problem: 44. 通配符匹配 給你一個輸入字符串 (s) 和一個字符模式p ,請你實現(xiàn)一個支持 ‘?’ 和 ‘ ’ 匹配規(guī)則的通配符匹配: ‘?’ 可以匹配任何單個字符。 \\\' ’ 可以匹配任意字符序列(包括空字符序列)。 判定匹配成功的充要條件是:字符模式必須能夠 完全匹配 輸入字符

    2024年02月04日
    瀏覽(22)
  • 了解java中的通配符“?“

    了解java中的通配符“?“

    目錄 通配符的作用 ????????先看一段代碼 ????????用通配符\\\"?\\\"后,代碼變化 ????????結論 通配符上界? 通配符下界 對通配符上下界的注釋理解及其練習代碼?? 簡記: ? ?用于在泛型的使用,即為通配符. 在Java中,通配符(wildcard)主要用于泛型編程,用于表示一個

    2024年02月10日
    瀏覽(24)

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

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

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

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

二維碼1

領取紅包

二維碼2

領紅包