关于grep的引号使用问题
單引號(hào):
所見即所得:即將單引號(hào)中內(nèi)容原樣輸出,也就是單引號(hào)''是全引用。
?
雙引號(hào):?
解析式輸出:如果雙引號(hào)的內(nèi)容中有命令、變量等,會(huì)先把變量、命令解析成結(jié)果,再將結(jié)果輸出。雙引號(hào)""是部分引用。
??
單雙引號(hào):
?綜上:常量用單引號(hào)''括起,而含有變量則用雙引號(hào)""括起。單雙可同時(shí)出現(xiàn),單擴(kuò)住雙。
?
舉例:
?
“”號(hào)里面遇到$,\等特殊字符會(huì)進(jìn)行相應(yīng)的變量替換
‘’號(hào)里面的所有字符都保持原樣
對于字符串,兩者相同
匹配模式也大致相同
但有一些區(qū)別非常容易混淆
?
grep "$a" file??????? #引用變量a,查找變量a的值
?
grep '$a' file??????? #查找“$a”字符串
?
grep "\\" file??????? #grep: Trailing backslash(不知原因)
?
grep '\\' file??????? #查找‘\’字符
?
1、$?美元符
?
2、\?反斜杠
?
3、`?反引號(hào)
?
4、" 雙引號(hào)
這四個(gè)字符在雙引號(hào)中是具有特殊含義的,其他都沒有,而單引號(hào)使所有字符都失去特殊含義
?
如果用雙引號(hào),查找一個(gè)\,就應(yīng)該用四個(gè)\:
grep "\\\\" file?這樣就對了,這樣等同于:
grep '\\' file
?
第一條命令shell把四個(gè)\,轉(zhuǎn)義成2個(gè)\傳遞給grep,grep再把2個(gè)\轉(zhuǎn)義成一個(gè)\查找
第二條命令shell沒轉(zhuǎn)義,直接把2個(gè)\傳遞給grep,grep再把2個(gè)\轉(zhuǎn)義成一個(gè)\查找
其實(shí)grep執(zhí)行的是相同的命令
?
轉(zhuǎn)載于:https://www.cnblogs.com/yixue2017/p/8056345.html
總結(jié)
以上是生活随笔為你收集整理的关于grep的引号使用问题的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 2017-2018-1 20162306
- 下一篇: (转)在Eclipse中创建Maven多