久久国产乱子伦精品免费M,亚洲一区二区三区91,欧美国产在线视频,国产精品视频久久

bash通配符和正則表達式元字符部分歸納

Linux中有各種各樣的字符,而且在不同環境和不同命令之下含義也不同

作為新手,決定先歸納學到的符號,方便后面學習厘清它們之間的關系。


glob 簡化了的正則表達式

bash默認通配符:

? :只匹配一個任意字符;

* :匹配零個或多個任意字符;  

[^] :方括號及其中^中的取反

[abc]:匹配任何一個列在方括號中的字符(這個例子要么匹配一個 a,要么匹配一個 b,要么匹配一個 c);

如果在方括號中使用短劃線分隔兩個字符,表示所有在這兩個字符范圍內的都可以匹配(比如 [0-9] 表示匹配所有 0 到 9 的數字)。


grep基本正則表達式元字符:

.:  匹配任意單個字符;

[]: 匹配指定范圍內的任意單個字符

[^]:匹配指定范圍外的任意單個字符

*:匹配前面的字符任意次;

.*:任意長度的任意字符;

\?:匹配其前面的字符0或1次;即前面的可有可無;

\+:匹配其前面的字符至少1次;

\{m\}:匹配前面的字符m次;

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

\{0,n\}:匹配前面的字符至多n次;

\{m,\}:匹配前面的字符至少m次;

^:行首錨定;用于模式的最左側;

$:行尾錨定;用于模式的最右側;

\< 或 \b:詞首錨定;用于單詞模式的左側;

\> 或 \b:詞尾錨定;用于單詞模式的右側;

\<PATTERN\>:匹配整個單詞;

\(\):將一個或多個字符捆綁在一起,當作一個整體進行處理;


egrep及擴展的正則表達式

egrep = grep -E

擴展正則表達式的元字符:

字符匹配:

.

[]

[^]

*

?: 0或1次;

+:1次或多次;

{m}:匹配m次;

{m,n}:至少m,至多n次;

^

$

\<, \b

\>, \b

()

后向引用:\1, \2, ...


根據以上歸納,需要區分的符號

glob和grep的*符號,前者直接任意字符,后者匹配前一個字符任意次數

grep和egrep的?,+,{m,n},(),前者需要將這些字符轉義,后者不需要


附其它一些bash符號說明

子字符類

[:alpha:]

匹配當前歸類中的大寫和小寫字母字符。例如,'[0-9]{3}[[:alpha:]]{2}' 匹配三個數字,后跟兩個字母。

[:alnum:]

匹配當前歸類中的數字、大寫和小寫字母字符。例如,'[[:alnum:]]+' 匹配含有一個或多個字母和數字的字符串。

[:digit:]

匹配當前歸類中的數字。例如,'[[:digit:]-]+' 匹配含有一個或多個數字或橫線的字符串。同樣,'[^[:digit:]-]+' 匹配含有一個或多個不是數字或橫線的字符的字符串。

[:lower:]

匹配當前歸類中的小寫字母字符。例如,'[[:lower:]]' 不匹配 A,因為 A 為大寫。

[:space:]

匹配單個空格 (' ')。

[:upper:]

匹配當前歸類中的大寫字母字符。例如,'[[:upper:]ab]' 與以下其中一項匹配:任何大寫字母、a 或 b。

[:whitespace:]

匹配一個空白字符,例如,空格、制表符、換頁符和回車符。

[:ascii:]

匹配任何七位的 ASCII 字符(0 到 127 之間的順序值)。

[:blank:]

匹配一個空白區或水平制表符。

[[:blank:]] 等效于 [ \t]。

[:cntrl:]

匹配順序值小于 32 或字符值為 127 的 ASCII 字符(控制字符)。控制字符包括換行符、換頁符、退格符,等等。

[:graph:]

匹配打印字符。

[[:graph:]] 等效于 [[:alnum:][:punct:]]。

[:print:]

匹配打印字符和空格。

[[:print:]] 等效于 [[:graph:][:whitespace:]]。

[:punct:]

匹配其中一個字符: !"#$%&'()*+,-./:;<=>?@[\]^_`{|}~.

[:punct:] 子字符類不能包括當前歸類中可用的非 ASCII 標點字符。

[:word:]

匹配當前歸類中的字母、數字或下劃線字符。

[[:word:]] 等效于 [[:alnum:]_]。

[:xdigit:]

匹配字符類 [0-9A-Fa-f] 中的字符。

#  注釋說明

$ 變量符號

\ 轉義字符 一般用在寫很長的通配符上 我們可以把特殊字符或者通配符 轉義成一般的字符

; 連續命令執行分割符號,例子 cp /etc /tmp ;ls  /tmp ;cd etc ;rm etc

''  反點號中間的先執行

/  目錄符號,路徑分割

& 把作業放到后臺去執行

~ 用戶的主文件夾

!邏輯運算上的非

相關新聞

歷經多年發展,已成為國內好評如潮的Linux云計算運維、SRE、Devops、網絡安全、云原生、Go、Python開發專業人才培訓機構!

    1. 主站蜘蛛池模板: 洪雅县| 乌兰察布市| 永善县| 海伦市| 那坡县| 长寿区| 讷河市| 吉水县| 正蓝旗| 霍州市| 镇巴县| 贵溪市| 手游| 南宁市| 犍为县| 依兰县| 松原市| 林甸县| 宁河县| 安宁市| 西城区| 咸丰县| 深泽县| 霍林郭勒市| 察隅县| 彝良县| 沅陵县| 恩施市| 沂水县| 东港市| 梁河县| 即墨市| 买车| 神农架林区| 英山县| 洛南县| 垦利县| 新津县| 霸州市| 胶州市| 舞阳县|