bash: 通过 grep 将单引号和双引号匹配在一起
bash: matching single and double quotes together by grep
目标是匹配文本中的单引号或双引号单词。
'foo'
"bar"
'buz"
# text
在名为经典 Shell 脚本(脚本 1)一书的 bash 脚本中,需要转义引号。怎么做?
#! /bin/sh -
grep \(["']\).* text
# script 1
另一种解决方案(脚本 2)是。
#! /bin/sh -
grep -e "'.*'" -e '".*"' text
# script 2
@William Pursell 的精确解(脚本 3)更紧凑。
#! /bin/sh -
grep '\(["'"']\).*" text
# script 3
我可能误解了这个问题,但您似乎在问如何正确转义引号。只是做:
grep '\(["'"']\).*.*"
目标是匹配文本中的单引号或双引号单词。
'foo'
"bar"
'buz"
# text
在名为经典 Shell 脚本(脚本 1)一书的 bash 脚本中,需要转义引号。怎么做?
#! /bin/sh -
grep \(["']\).* text
# script 1
另一种解决方案(脚本 2)是。
#! /bin/sh -
grep -e "'.*'" -e '".*"' text
# script 2
@William Pursell 的精确解(脚本 3)更紧凑。
#! /bin/sh -
grep '\(["'"']\).*" text
# script 3
我可能误解了这个问题,但您似乎在问如何正确转义引号。只是做:
grep '\(["'"']\).*.*"