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

字符串的條件判定

  • 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 13:25
下一篇 2017-03-19 16:15

相關推薦

  • 軟件包管理詳解

      軟件包管理器 1、功能: (1)將軟件包打包成一個文件,其中包括: ①二進制程序 ②庫文件 ③配置文件 ④幫助文件 (2)生成數據庫,追中所安裝的每一個文件。 2、軟件包管理器的核心功能: (1)制作軟件包 (2)安裝、卸載、升級、查詢、校驗 3、不同發行版的不同的…

    2017-08-11
  • ThridWeek_FirstDay

    python學習筆記整理

    Linux干貨 2017-10-09
  • GRUB

    GRUB(Boot Loader):  grub: GRand Unified Bootloader grub 0.x: grub legacy grub 1.x: grub2 grub legacy: stage1: mbr stage1_5: mbr之后的扇區,讓stage1中的bootloader能識別stage2所在的分區上的文件系統; s…

    Linux干貨 2016-04-12
  • 管理systemd

    管理systemd 一、systemd介紹 回顧一下centos的啟動流程  POST –> Boot Sequence –> Bootloader –> kernel + initramfs(initrd) –> rootfs –> /sbin/init 在…

    Linux干貨 2016-09-22
  • vim編輯器-練習題

    1 、復制/etc/profile至/tmp/目錄,用查找替換命令刪除/tmp/profile文件中的行首的空白字符 #cp /etc/profile /tmp #vim /tmp/profile :%s/^[[:space:]]\+// 2 、復制/etc/rc.d/init.d/functions 文件至/tmp 目錄,用查找替換命令為/tmp/func…

    Linux干貨 2016-08-15
  • VMWare網絡連接的三種模式

    在創建虛擬機的時候我們會對網絡適配器進行配置,那么網絡適配器是什么呢?首先我們來簡單介紹一下網絡適配器。 計算機與外界局域網的連接是通過主機箱內插入一塊網絡接口板(或者是在筆記本電腦中插入一塊PCMCIA卡)。而網絡接口板又稱為通信適配器或網絡適配器(networkadapter)或網絡接口卡NIC(NetworkInterface Card),但是更多的人…

    Linux干貨 2017-07-12
欧美性久久久久