存档

文章标签 ‘匹配引号’

grep如何匹配用引号括起来的内容

2011年1月12日 1 条评论

Shell脚本学习指南(台湾奥莱利公司编译,机械工业出版社出版的那本)在53页提到后向引用在寻找重复字以及匹配引号时特别好用,然后举了一个匹配引号的例子:

\([” ‘]\).*\1

这个例子不对,在同一页的上面,书上说在方括号表达式中,所有其他meta字符会失去特殊含义,所以[*\.]匹配字面上的星号。反斜杠和句点,这点是对的,但是引号在方括号表达式中不会失去特殊含义,所以要用反斜杠关闭特殊意义。

正确的

\([\”\’]\).*\1

一个例子,用grep查找当前目录下包含用引号(不管是单引号还是双引号)扩住administration字样的内容

grep -r “\([\”\’]\)administration\1” *