Linux萬用字元(bash 以及正規表示法

2021-09-27 03:55:19 字數 1935 閱讀 9702

1. bash中的萬用字元

2. 正規表示法

一種通用的字串處理方式,工具支援正規表示法的即可用此來處理文字,如vi,grep,awk,sed

*語系對正規表示法的影響,檔案記錄的都是0或1,通過不同的編碼表示出來,不同語系的編碼結果不同,

造成最後處理擷取,搜尋等結果不同

基礎正則表示法的用法列表

grep -n '[^g]oo' regular_express.txt    [^]代表非

grep -n '[^a-z]oo' regular_express.txt

grep -n '[^[:lower:]]oo' regular_express.txt

grep -n '[0-9]' regular_express.txt

grep -n '[[:digit:]]' regular_express.txt  [:digit:] 代表【0-9】

[a-z] [a-z] [0-9]表示連續的字元組===》[a-za-z0-9]

表示連續的範圍內的選值用-

行首、行尾字元 ^ $

grep -n '^the' regular_express.txt

grep -n '^[[:lower:]]' regular_express.txt

grep -n '^[^[:alpha:]]' regular_express.txt

grep -n '^[^a-za-z]' regular_express.txt

grep -n '\.$' regular_express.txt #行尾是小數點,小數點是特殊字元\來跳脫原來的含義

grep -n '^$' regular_express.txt #空白行

grep -v '^$' /etc/syslog.conf | grep -v '^#'

.  (小數點):代表『一定有乙個任意字元』的意思;

*  (星星號):代表『重複前乙個 0 到無窮多次』的意思,為組合形態

oo*(乙個o以上)

ooo*(兩個o以上)

『g.*g』的作法,

因為 * 可以是 0 或多個重複前面的字元,而 . 是任意字元,所以: 『.* 就代表零個或多個任意字元』

『任意數字』的行列

『[0-9][0-9]*』[0-9]僅代表了乙個位上有數字

限定「連續 re" 字元範圍 {}

grep -n 'o\' regular_express.txt

grep -n 'go\g' regular_express.txt # 2到5個o

grep -n 'go\g' regular_express.txt   # 兩個及以上的o

linux下bash萬用字元介紹

linux下bash的萬用字元介紹 在bash shell環境下,我們可用萬用字元來簡化命令輸入。匹配任意單個字元。匹配任意字串。set 匹配set中的任意字元。set 是取反操作,匹配不在set中的任意字元,如 a z 匹配所有小寫字元 0 9 匹配所有數字 akz 匹配a,k,z三個字元 匹配句...

bash中的萬用字元

批註符號 這個最常被使用在 script 當中,視為說明!在後的資料均不執行 跳脫符號 將 特殊字元或萬用字元 還原成一般字元 管線 pipe 分隔兩個管線命令的界定 後兩節介紹 連續命令下達分隔符 連續性命令的界定 注意!與管線命令並不相同 使用者的家目錄 取用變數前導符 亦即是變數之前需要加的變...

Linux萬用字元

在使用shell命令對多個檔案物件執行單一操作時,例如刪除當前目錄下的file1到file8,多次使用相同的命令rm file1到rm file8非常麻煩,通常使用萬用字元模式解決這個問題 rm file 1 8 當使用萬用字元指定一種模式時,該模式與底層系統上的乙個或多個檔案匹配,shell以空格...