我有一个程序解析两个文件并比较它们,查找两者之间的冲突,并允许用户决定采取什么操作。因此,我需要能够解析下面的行。当使用模式替换参数展开时,如果字符串包含{
或}
,将导致错误。
我正在寻找一个潜在的工作围绕以下行
F=TSM_CLASS="Test text {class}"
newstring=${F//{class}/\{class\}}
结果:
echo $newstring
TSM_CLASS="Test text }/{class}}"
${F//{class}
是一个完整的参数展开,将F
值中的{class
实例全部替换为空字符串。要在模式和/或替换字符串中嵌入大括号,需要对它们加引号。
$ F=TSM_CLASS="Test text {class}"
$
$ echo "${F//{class}/\{class\}}"
TSM_CLASS=Test text {class}