grep正規表示式後面的單引號和雙引號的區別

2021-09-07 22:49:09 字數 821 閱讀 2644

單引號''是全引用,被單引號括起的內容不管是常量還是變數者不會發生替換;

雙引號""是部分引用,被雙引號括起的內容常量還是常量,變數則會發生替換,替換成變數內容!

一般常量用單引號''括起,如果含有變數則用雙引號""括起!

單引號與雙引號的最大不同在於雙引號仍然可以保有變數的內容,但單引號內僅能是一般字

元 ,而不會有特殊符號

「」號裡面遇到$,\等特殊字元會進行相應的變數替換

『』號裡面的所有字元都保持原樣

對於字串,兩者相同

匹配模式也大致相同

但有一些區別非常容易混淆

grep "$a" file        #引用變數a,查詢變數a的值

grep '$a' file        #查詢「$a」字串

grep "\\" file        #grep: trailing backslash(不知原因)

grep '\\' file        #查詢『\』字元

1、$ 美元符

2、\ 反斜槓

3、` 反引號

4、" 雙引號

這四個字元在雙引號中是具有特殊含義的,其他都沒有,而單引號使所有字元都失去特殊含義

如果用雙引號,查詢乙個\,就應該用四個\:

grep "\\\\" file 這樣就對了,這樣等同於:

grep '\\' file

第一條命令shell把四個\,轉義成2個\傳遞給grep,grep再把2個\轉義成乙個\查詢

第二條命令shell沒轉義,直接把2個\傳遞給grep,grep再把2個\轉義成乙個\查詢

其實grep執行的是相同的命令。

grep正規表示式

grep的工作方式是這樣的,它在乙個或多個檔案中搜尋字串模板。如果模板包括空格,則必須被引用,模板後的所有字串被看作檔名。搜尋的結果被送到螢幕,不影響原檔案內容。grep可用於shell指令碼,因為grep通過返回乙個狀態值來說明搜尋的狀態,如果模板搜尋成功,則返回0,如果搜尋不成功,則返回1,如果...

Grep正規表示式

grep正規表示式 要用好grep這個工具,其實就是要寫好正規表示式,所以這裡不對grep的所有功能進行例項講解,只列幾個例子,講解乙個正規表示式的寫法。ls l grep a 通過管道過濾ls l輸出的內容,只顯示以a開頭的行。grep test d 顯示所有以d開頭的檔案中包含test的行。gr...

grep正規表示式

文字查詢需要grep global research 根據模式,搜尋文字,並將符合模式的文字行顯示出來。pattern 文字字元和正規表示式的元字元組合而成的匹配條件 man grep 檢視幫助 查詢 etc passwd檔案包含root的內容 root iz233y80y23z grep root...