我正在尝试使用
sed -i -e "s/.*seb.*/ \"$ftp_login_template\"/" $ftp_dir
Run Code Online (Sandbox Code Playgroud)
但是我收到这个错误:
sed: -e expression #1, char 34: unknown option to `s'
Run Code Online (Sandbox Code Playgroud)
我不明白为什么因为这完美地工作:
sed -i -e "s/.*wbspassword.*/ \"wbspassword\": \"$password\",/" $user_conf
Run Code Online (Sandbox Code Playgroud)
关于我做错了什么的任何想法?
这可能是问题吗?
ftp_login_template=\${user}:${password}:24:86::\/var\/lib\/clit.${user}\/downloads:\/bin\/false\"
经过一番谷歌搜索后,我发现 sed 命令就是我所需要的。但说实话,这个命令的标志似乎无法理解。我想要做的就是用另一个文件替换单引号字符串。word1、word2 等等都不是单/双引号的。例子:
之前:foo.txt
word1 word2 word3 'This the text that needs replacement' word4 word5
Run Code Online (Sandbox Code Playgroud)
之后:foo.txt
word1 word2 word3 'I have been replaced' word4 word5
Run Code Online (Sandbox Code Playgroud)
请注意,文本“这是需要替换的文本”不是恒定的,其内容可能会有所不同。