細(xì)節(jié)決定成敗–空格的巨大作用以及正則表達(dá)式中元字符的轉(zhuǎn)義
字符串的條件判定
- 1.字符串判定 一定要用雙[[ ]]
- 2.字符串判定=~默認(rèn)支持?jǐn)U展正則表達(dá)式,這里注意雙引號(hào)的使用
- 僅僅做是否包含時(shí),有無(wú)雙引號(hào)無(wú)區(qū)別。
- 但是利用其他擴(kuò)展表達(dá)式時(shí) 雙引號(hào)一定要去掉
- 錨定示例
- 多條件判定時(shí)-o -a使用時(shí),不能使用雙中括號(hào)
空格有無(wú)的差別
!的使用細(xì)節(jié)
!到目前為止 有兩種意義條件判定取反歷史命令的調(diào)用 兩者的使用卻別!后面是否接空格


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

正則表達(dá)式的元字符 在不同命令中的轉(zhuǎn)義與非轉(zhuǎn)義
sed ?命令中模式的查找與替換
- sed 命令默認(rèn)支持基本正則表達(dá)式
- 搜索時(shí)需要轉(zhuǎn)義的字符$ ! [ . \ ‘ “$?的 示例:
^的示例
\的示例
‘ 的示例 :注意 這里轉(zhuǎn)義單引號(hào)也不成功
“ 的示例
- 其中 ! 在命令使用 雙引號(hào)時(shí)需要轉(zhuǎn)義,單引號(hào)時(shí)則無(wú)需轉(zhuǎn)義
- 替換時(shí)需要轉(zhuǎn)義的字符& \ ‘ “
源文件中的內(nèi)容
\ 的示例;
注意 : 在命令使用不同引號(hào)時(shí)的轉(zhuǎn)義方式不一樣
’ ?” 引號(hào)的示例:
注意: 這里和搜索時(shí)一樣 ?單引號(hào)無(wú)法用轉(zhuǎn)義來(lái)實(shí)現(xiàn),雙引號(hào)可以
vim 命令行搜索替換默認(rèn)支持基本正則表達(dá)式
- 搜索時(shí)需要轉(zhuǎn)義的字符$ [ \ ~ .
原文件內(nèi)容:
- 如果$不轉(zhuǎn)義,被當(dāng)成變量了
不加轉(zhuǎn)義符的結(jié)果:
加轉(zhuǎn)義符的結(jié)果:
[ 的示例 :
不加 轉(zhuǎn)義符的結(jié)果: 顯示 ?pattern 不存在, 此時(shí) [被當(dāng)成了命令。
加 ?轉(zhuǎn)義符的效果 :


~ 的 使用 :? ? ????原文中 ~ 的位置 :????

不使用轉(zhuǎn)義符時(shí):~ 被當(dāng)成了某種引用


結(jié)果:

- 替換式需要轉(zhuǎn)義的字符& ~ \
& 示例:
這里以替換 t 來(lái)演示:
不加轉(zhuǎn)義符時(shí),& 是完全引用搜索內(nèi)容的意思,所以不用轉(zhuǎn)義符內(nèi)容無(wú)所變化
加上轉(zhuǎn)義符 來(lái)看看效果?。?/p>
t 順利的被替換成了?。?/p>
~ 的示例:? ? ? 不加 轉(zhuǎn)義符時(shí) :????

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

來(lái)看看加轉(zhuǎn)義符的效果 :


- \ 的示例:不加轉(zhuǎn)義符時(shí),內(nèi)容直接被替換成了\ 后面的內(nèi)容。
再看看正確的寫(xiě)法:
t 成功被替換成了 \
最后,默認(rèn)支持?jǐn)U展正則表達(dá)式的 :條件判斷時(shí),=~
注意單引號(hào)與雙引號(hào)使用時(shí)$的區(qū)別
- 雙引號(hào) 或者不使用引號(hào)時(shí) $ 則表示引用變量的意思,這里引號(hào)的不同和echo 命令一樣, 單引號(hào)時(shí)完全引用, 雙引號(hào)是 智能型引用。