在命令行sed中用特殊字符替换字符串
Replacing strings with special characters in command line sed
我想通过在命令行中将行 %% {some_string, []},
替换为 {some_string, []}
来取消注释配置文件的一行。
我尝试了几种不同的格式 sed
:
sed 's/%% {some_string, []},/{some_string, []}/' filename
sed "s/%% {some_string, []},/{some_string, []}/" filename
sed "s/'%% {some_string, []},'/'{some_string, []}'/" filename
sed 's/"%% {some_string, []},"/"{some_string, []}"/' filename
但是每次都收到输出sed: -e expression #1, char (some number): unterminated s' command
由于我的特殊字符,我假设这与我的格式有关,但似乎无法找到可能导致该问题的具有相同字符的任何其他帖子。我也不能事先将这些字符串声明为变量,因为我需要在命令行中 运行。
sed
要求你转义方括号。
sed 's/%% {some_string, \[\]},/{some_string, []}/' filename
我想通过在命令行中将行 %% {some_string, []},
替换为 {some_string, []}
来取消注释配置文件的一行。
我尝试了几种不同的格式 sed
:
sed 's/%% {some_string, []},/{some_string, []}/' filename
sed "s/%% {some_string, []},/{some_string, []}/" filename
sed "s/'%% {some_string, []},'/'{some_string, []}'/" filename
sed 's/"%% {some_string, []},"/"{some_string, []}"/' filename
但是每次都收到输出sed: -e expression #1, char (some number): unterminated s' command
由于我的特殊字符,我假设这与我的格式有关,但似乎无法找到可能导致该问题的具有相同字符的任何其他帖子。我也不能事先将这些字符串声明为变量,因为我需要在命令行中 运行。
sed
要求你转义方括号。
sed 's/%% {some_string, \[\]},/{some_string, []}/' filename