【发布时间】:2014-12-31 20:23:10
【问题描述】:
我想搜索由位置参数给出的双引号括起来的字符串。这就是我所做的:
#!/bin/bash
FOO=$0
sed -i 's/"${FOO}"/bar/m' file.txt
"$FOO" 和 \"a${FOO}\"/ 都不起作用。
我知道要扩展变量,您必须将整个正则表达式括在双引号中 (sed substitution with bash variables)。问题是我正在搜索的字符串也用双引号括起来,这就是为什么我将整个正则表达式括在单引号中。我还尝试将其括在双引号中并转义双引号,但它没有用。
解释单引号和双引号转义背后的逻辑非常有用。
【问题讨论】: