当我使用sed命令将所有空格替换为X时,命令有效,具体命令如下: sed 's/ /X/g'sed 's/ /X/g' filelist.tmp 然而,当我尝试使用相同的方法将所有空格替换为 \space 时,代码如下:sed 's/ /\ /g' filelist.tmp 它不能工作。我做错了什么?请注意我是shell脚本的新手。
加入另一个\,即需要使\成为文字符号:sed 's/ /\\ /g' 只有一个\在空格前面,这个\是用来转义后面的空格;因为空格在替换中不需要转义,所以它会原封不动地保留。 示例:% sed 's/ /\\ /g' <<<'foo bar spam' foo\ \ bar\ \ spam
sed "s/ /\\ /g" filelist.tmp
。它没有起作用! - Somenath Sinhased 's/ /\\ /g'
- heemayl\\
并为sed
留下单个\
,因此sed
将具有s/ /\ /g
,这将无法正常工作,如您现在所看到的。 - heemayl