0 command-line bash scripts sed
我正在尝试用配置文件中的其他文本替换一些文本。我使用该sed
命令创建了一个脚本,但出现错误。
原线:
<property name="encryptData">false</property>
Run Code Online (Sandbox Code Playgroud)
新队:
<property name="encryptData">true</property>
Run Code Online (Sandbox Code Playgroud)
命令:
sed -i -e 's/<property name="encryptData">false</property>/<property name="encryptData">true</property>/g' /Users/User/Desktop/mirth.cfg
Run Code Online (Sandbox Code Playgroud)
错误:
sed: 1: "s/<property name="encry ...": bad flag in substitute command: '<'
Run Code Online (Sandbox Code Playgroud)
命令几乎是完美的。你的问题是你需要在斜线前面</property>
加上这样的反斜线\
。
sed -i -e 's/<property name="encryptData">false<\/property>/<property name="encryptData">true<\/property>/g' /Users/User/Desktop/mirth.cfg
Run Code Online (Sandbox Code Playgroud)
观察到我对这两种情况都做到了。
这样 sed 就会知道这个斜杠是流的一部分,而不是命令 's' 的一部分。
希望这可以解决您的问题。
归档时间: |
|
查看次数: |
1662 次 |
最近记录: |