当我使用sed将所有空格替换为X时,该命令起作用,该命令为:
sed 's/ /X/g' filelist.tmp
但是,当我尝试用空格替换所有出现的空格时,代码是:
sed 's/ /\ /g' filelist.tmp
它不起作用。我做错什么了?请注意,我是shell脚本的新手。
最佳答案
添加另一个\
即,您需要使\
文本:
sed 's/ /\\ /g'
只有一个
\
在空格之前,\
正在转义后面的空格;由于空格不是需要转义的替换字符,因此它被视为原样。例子:
% sed 's/ /\\ /g' <<<'foo bar spam'
foo\ \ bar\ \ spam