細節決定成敗–空格的巨大作用以及正則表達式中元字符的轉義

字符串的條件判定

  • 1.字符串判定 一定要用雙[[ ]]

    細節決定成敗--空格的巨大作用以及正則表達式中元字符的轉義

  • 2.字符串判定=~默認支持擴展正則表達式,這里注意雙引號的使用

    • 僅僅做是否包含時,有無雙引號無區別。

    • 但是利用其他擴展表達式時 雙引號一定要去掉
      細節決定成敗--空格的巨大作用以及正則表達式中元字符的轉義

    • 錨定示例
      細節決定成敗--空格的巨大作用以及正則表達式中元字符的轉義

    • 多條件判定時-o -a使用時,不能使用雙中括號

      細節決定成敗--空格的巨大作用以及正則表達式中元字符的轉義

空格有無的差別

!的使用細節

!到目前為止 有兩種意義 條件判定取反 歷史命令的調用 兩者的使用卻別!后面是否接空格

細節決定成敗--空格的巨大作用以及正則表達式中元字符的轉義

細節決定成敗--空格的巨大作用以及正則表達式中元字符的轉義

find 命令中的-exec command {} \;  尾部的空格一定要注意,一個都不能少不能少


細節決定成敗--空格的巨大作用以及正則表達式中元字符的轉義

正則表達式的元字符 在不同命令中的轉義與非轉義

sed 命令中模式的查找與替換

  • sed 命令默認支持基本正則表達式
    細節決定成敗--空格的巨大作用以及正則表達式中元字符的轉義

  • 搜索時需要轉義的字符$ ! [ . \ ‘ “
    的 示例:
    細節決定成敗--空格的巨大作用以及正則表達式中元字符的轉義

    ^ 的示例

    細節決定成敗--空格的巨大作用以及正則表達式中元字符的轉義

    \的示例

    細節決定成敗--空格的巨大作用以及正則表達式中元字符的轉義

    ‘ 的示例 : 注意 這里轉義單引號也不成功

  • 細節決定成敗--空格的巨大作用以及正則表達式中元字符的轉義

    細節決定成敗--空格的巨大作用以及正則表達式中元字符的轉義

    “ 的示例

    細節決定成敗--空格的巨大作用以及正則表達式中元字符的轉義

  • 其中 ! 在命令使用 雙引號時需要轉義,單引號時則無需轉義

    細節決定成敗--空格的巨大作用以及正則表達式中元字符的轉義

  • 替換時需要轉義的字符& \ ‘ “

    源文件中的內容
    細節決定成敗--空格的巨大作用以及正則表達式中元字符的轉義

    \ 的示例;

    注意 : 在命令使用不同引號時的轉義方式不一樣

    細節決定成敗--空格的巨大作用以及正則表達式中元字符的轉義

    ’  ” 引號的示例:

    注意: 這里和搜索時一樣  單引號無法用轉義來實現,雙引號可以

  • 細節決定成敗--空格的巨大作用以及正則表達式中元字符的轉義

vim 命令行搜索替換默認支持基本正則表達式

  • 搜索時需要轉義的字符$ [ \ ~ .

    原文件內容:

  • 細節決定成敗--空格的巨大作用以及正則表達式中元字符的轉義

  • 如果$不轉義,被當成變量了

    細節決定成敗--空格的巨大作用以及正則表達式中元字符的轉義

    不加轉義符的結果:
    細節決定成敗--空格的巨大作用以及正則表達式中元字符的轉義

    加轉義符的結果:

    細節決定成敗--空格的巨大作用以及正則表達式中元字符的轉義

    細節決定成敗--空格的巨大作用以及正則表達式中元字符的轉義

    [ 的示例 :

    不加 轉義符的結果: 顯示  pattern 不存在, 此時 [被當成了命令。
    細節決定成敗--空格的巨大作用以及正則表達式中元字符的轉義

    細節決定成敗--空格的巨大作用以及正則表達式中元字符的轉義

            加  轉義符的效果 :

    細節決定成敗--空格的巨大作用以及正則表達式中元字符的轉義
    結果  a 后面的 [  被成功替換成ok 
細節決定成敗--空格的巨大作用以及正則表達式中元字符的轉義

          ~ 的 使用 :
        原文中 ~ 的位置 :
    細節決定成敗--空格的巨大作用以及正則表達式中元字符的轉義

    不使用轉義符時:~ 被當成了某種引用

    細節決定成敗--空格的巨大作用以及正則表達式中元字符的轉義
    所以 只能使用 轉義符來表達~本來的意義

細節決定成敗--空格的巨大作用以及正則表達式中元字符的轉義

結果:
細節決定成敗--空格的巨大作用以及正則表達式中元字符的轉義
 

       

  • 替換式需要轉義的字符& ~ \

    & 示例

    這里以替換 t 來演示:


  • 細節決定成敗--空格的巨大作用以及正則表達式中元字符的轉義

    不加轉義符時,& 是完全引用搜索內容的意思,所以不用轉義符內容無所變化
    細節決定成敗--空格的巨大作用以及正則表達式中元字符的轉義


  • 細節決定成敗--空格的巨大作用以及正則表達式中元字符的轉義

    加上轉義符 來看看效果 :
    細節決定成敗--空格的巨大作用以及正則表達式中元字符的轉義

    t 順利的被替換成了?。?br />細節決定成敗--空格的巨大作用以及正則表達式中元字符的轉義

        ~ 的示例:

      不加 轉義符時 :
    細節決定成敗--空格的巨大作用以及正則表達式中元字符的轉義

t 被替換成了 & ,原因時~ 直接引用了上次替換的結果,所以這里t 就直接被替換成了 &

細節決定成敗--空格的巨大作用以及正則表達式中元字符的轉義


    來看看加轉義符的效果 :

細節決定成敗--空格的巨大作用以及正則表達式中元字符的轉義

細節決定成敗--空格的巨大作用以及正則表達式中元字符的轉義

  • \ 的示例:

    不加轉義符時,內容直接被替換成了\ 后面的內容。

  • 細節決定成敗--空格的巨大作用以及正則表達式中元字符的轉義

    細節決定成敗--空格的巨大作用以及正則表達式中元字符的轉義

    再看看正確的寫法:

    細節決定成敗--空格的巨大作用以及正則表達式中元字符的轉義

    t 成功被替換成了 \
    細節決定成敗--空格的巨大作用以及正則表達式中元字符的轉義

最后,默認支持擴展正則表達式的 :條件判斷時,=~ 

注意單引號與雙引號使用時$的區別

  • 雙引號 或者不使用引號時 $ 則表示引用變量的意思,這里引號的不同和echo 命令一樣, 單引號時完全引用, 雙引號是 智能型引用。

    細節決定成敗--空格的巨大作用以及正則表達式中元字符的轉義

如果有錯誤之處請在評論處指正,謝謝

原創文章,作者:zhoulz,如若轉載,請注明出處:http://www.www58058.com/71338

(0)
zhoulzzhoulz
上一篇 2017-03-19
下一篇 2017-03-19

相關推薦

  • windows server 2008 r2 每隔一段時間自動關機

    首先來說一下我的狗血經歷:     話說作為一個地鐵汪,每天背著電腦從房山到朝陽那簡直就是能累死我的節奏,所以我跟公司申請我不要用自己的筆記本了(補助我不要了)。最后公司把一臺不用的server 2008r2給我用,12G內存,志強CPU,跑虛擬機杠杠的。 但是噩夢開始了,我發現一個特點,這臺server 2008 r…

    2015-11-26
  • HAProxy七種調度方法的簡單示意圖

    看了三個月,中間因出差和其他事沒有看估計也有十幾天,剛把35天的視頻看完。很多內容都記不住,待第一次看完后再回頭看吧。 現在想,對內容進行簡單的畫圖,把基本的體現出來,對記憶和回顧應該有幫助。

    Linux干貨 2016-07-26
  • 配額-and-RAID

    配置配額系統 控制單個用戶,或組在某磁盤上所能占的最大空間大小 配額是基于磁盤分區的,不基于文件 如何基于軟件控制配額:          1、設置分區掛載選項          &nbsp…

    Linux干貨 2016-08-29
  • 虛擬化網絡之OpenvSwitch(一)

    一、OpenvSwitch介紹  OpenvSwitch簡稱OVS,正如其官網(http://openvswitch.org/)所述,OVS是一個高質量、多層的虛擬交換軟件,即虛擬交換機。它的目的是通過編程擴展支持大規模網絡自動化,同時還支持標準的管理接口和協議(例如:NetFlow,sFlow,IPFIX,RSPAN, CLI, LAC…

    Linux干貨 2016-03-27
  • 2016-10-17作業

    1 生產環境發現一臺服務器系統時間產生偏差,造成服務異常,請幫忙校正。 答:hwclock -s 2 生產有一個數據同步腳本需要執行很長時間,怎樣做到無人值守,在管理工具退出的情況下,腳本依然能正常運行。 答:screen -S work  進去后開始做工作,暫時離開時可使用 ctrl+a,d 剝離當前會話。 3 Linux系統中命令共分為內建命令…

    Linux干貨 2016-10-18
  • 13grep和正則表達式

    grep:Global search REgular expression and Print out the line . 文本過濾工具,根據用戶指定的模式對目標文本進行匹配檢查;打印匹配到的行。過濾即不改變原來文本數據。 grep [options] PATTERN [file…] –color=auto: 對匹配到的文本著色顯示…

    Linux干貨 2016-11-27
欧美性久久久久