linux下的萬用字元與正規表示式

2021-06-20 18:44:26 字數 1468 閱讀 1686

linux下主要萬用字元與特殊字元如下:

*         代表0個或多個字元(或數字)

?         代表乙個字母 ---- 數字不可以嗎? 可以

#         注釋,常用在指令碼中

轉義字元,將特殊字元或者萬用字元還原成一般字元

|            分隔兩個管道

;         連續命令分隔

~         使用者的家目錄

$            變數之前需要加的,變數替換值

&         將命令變成後台工作

!         邏輯意義上的非,not

/         路徑分隔

>   >>   輸出導向

'            單引號,其中的變數不具有置換功能

"            雙引號,其中的變數具有置換功能,即:單引號較雙引號嚴格

`            撇號,tab鍵上面那個字元,兩個 ` 之間的命令可以先執行

()           中間為子shell的起始與結束

[]      中間為字元組合

{}      中間為命令區塊的組合

而正規表示式,可以分為基礎正規表示式和擴充套件正規表示式

^            在行首搜尋,grep -n '^abc' file.txt      在file.txt中搜尋以abc開始的行

$            在行尾搜尋,grep -n '^$' file.txt         搜尋空行

.               點號,代表任意乙個字元,必須有乙個

反斜槓,去除特殊符號的特殊意義,grep -n ' file.txt 搜尋『

*               前乙個字元重複0次或多次

前乙個字元重複n - m 次,如果沒有m,則代表無上限

[ ]              字元集合,---- [ ] 僅代表乙個待搜尋的字元,需要範圍時[2-4a-g]

grep -n 'g[lde]g' file.txt,搜尋glg gdg geg

這裡要注意的是:

1、^字元是否在 [ ] 中,作用是不同的

2、*字元在正規表示式中的作用與其充當萬用字元時的作用不同

3、!(嘆號)字元在正規表示式中並不是特殊字元

擴充套件正規表示式:

egrep 即 grep -e 的別名

+            前乙個字元,重複1或多次,egrep -n 'go+gle' file.txt 搜尋gogle google gooogle......

?            前乙個字元,重複0或1次

|             用或的方式找出多個字串 egrep -n 'abc|abd' file.txt 搜尋abc或abd,---- |的兩邊沒有空格

()            找出「使用者組」字串 egrep -n 'g(oo|la)d' file.txt 搜尋good或glad

linux萬用字元與基礎正則

1.特殊符號 單引號 單引號的內容 寫什麼就是什麼,不會被當成特殊字元.單引號例項 root oldboyedu sh01 echo 123 123 雙引號 雙引號裡面的內容會被解析 雙引號例項 root oldboyedu sh01 echo 123 23 1 被當成了變數,而在單引號中不會出現這...

Linux正規表示式 萬用字元

萬用字元元字元或者句點 被認為是與變數等價的。變數表示算術表示式中的任意值。在正規表示式中,句點 是代表除換行符以外的任意字元的萬用字元 在awk中,句點甚至可以匹配嵌入式換行符 假定我們正在描述乙個字串行,使用萬用字元元字元可以指定任何字元都可以填充的乙個位置。例如,如果要索索包含intel系統微...

Linux 萬用字元 與 正規表示式 的區別與詳解

背景 在linux使用過程中,經常需要查詢檔案,對命令中的萬用字元 pattern 和正規表示式的區分不是很清楚。有必要好好研究一下。1 掃盲 1.1 萬用字元和正規表示式 當在使用命令行時,有很多時間都用來查詢你所需要的檔案,如ls find等。shell 提供了一套完整的字串模式匹配規則,或者稱...