awk處理特殊字元 原創

2021-09-01 18:05:52 字數 1645 閱讀 8931

單引號 ( ' ' )

如果我們想查詢的是susan goldberg,不能直接使用grep susan goldberg phonebook命令,grep會把goldberg和phonebook當作需要搜尋的檔案

$ grep 'susan gold' phonebook

susan goldberg 403-212-4921

當shell碰到第乙個單引號時,它忽略掉其後直到右引號的所有特殊字元

如果想列印單引號,可以採用如下方式

$ awk 'begin ' '

或者用047代替單引號

$ awk '' '

雙引號 ( " " )

雙引號作用與單引號類似,區別在於它沒有那麼嚴格。單引號告訴shell忽略所有特殊字元,而雙引號只要求忽略大多數,具體說,括在雙引號中的三種特殊字元不被忽略:$,\,` ,即雙引號會解釋字串的特別意思,而單引號直接使用字串.如果使用雙引號將字串賦給變數並反饋它,實際上與直接反饋變數並無差別。如果要查詢包含空格的字串,經常會用到雙引號。

$ x=*

$ echo $x

hello.sh menus.sh misc.sh phonebook tshift.sh

$ echo '$x'

$x$ echo "$x"

*這個例子可以看出無引號、單引號和雙引號之間的區別。在最後一種情況中,雙引號告訴shell在引號內照樣進行變數名替換,所以shell把$x替換為*,因為雙引號中不做檔名替換,所以就把*作為要顯示的值傳遞給echo。

對於第一種情況需要進一步說明,shell在給變數賦值時不進行檔名替換(這從第三種情況中也能看出來),各步驟發生的精確次序如下:

shell掃瞄命令列,把x的值設為星號*;

shell再次掃瞄命令列,碰到星號*,把它替換成當前目錄下的檔案清單;

shell啟動執行echo命令,把檔案清單作為引數傳遞給echo.

這個賦值的先後次序非常重要:shell先作變數替換,然後作檔名替換,最後把這行處理為引數

反引號(``)

命令替換是指shell能夠將乙個命令的標準輸出插在乙個命令列中任何位置。shell中有兩種方法作命令替換:把shell命令用反引號或者$(...)結構括起來,其中,$(...)格式受到posix標準支援,也利於巢狀。

$ echo the date and time is `date`

the date and time is 三 6月 15 06:10:35 cst 2005

$ echo your current working directory is $(pwd)

your current working directory is /home/howard/script.

反斜槓 backslash-escaped( \ )

反斜槓一般用作轉義字元,或稱逃脫字元,linux如果echo要讓轉義字元發生作用,就要使用-e選項,且轉義字元要使用雙引號

echo -e "\n"

反斜槓的另一種作用,就是當反斜槓用於一行的最後乙個字元時,shell把行尾的反斜槓作為續行,這種結構在分幾行輸入長命令時經常使用

參考至:

如有錯誤,歡迎指正

awk處理特殊字元 原創

單引號 如果我們想查詢的是susan goldberg,不能直接使用grep susan goldberg phonebook命令,grep會把goldberg和phonebook當作需要搜尋的檔案 grep susan gold phonebook susan goldberg 403 212 4...

sql處理特殊字元

我們都知道sql server查詢過程中,單引號 是特殊字元,所以在查詢的時候要轉換成雙單引號 但這只是特殊字元的乙個,在實際專案中,發現對於like操作還有以下特殊字元 下劃線 百分號 方括號 以及尖號 其用途如下 下劃線 用於代替乙個任意字元 相當於正規表示式中的 百分號 用於代替任意數目的任意...

Solr特殊字元處理

solr特殊字元處理 一,solr在搜尋時需要注意,搜尋的文字需要進行特殊字元處理,即對solr特殊字元進行轉義 solr特殊字元轉義提供了乙個工具類org.apache.solr.client.solrj.util.clientutils 使用的時候只需要string q clientutils....