sed:-e 表达式 #1,字符 1:未知命令:'|'

sed:-e 表达式 #1,字符 1:未知命令:'|'

当我将此代码放入终端时:

sed -i "|^if [[ -f /etc/skel/.bashrc ]]; then . /etc/skel/.bashrc; fi|d" ~/.bashrc

我得到:

sed: -e expression #1, char 1: unknown command: '|'

为什么?

答案1

您必须通过在新分隔符之前sed添加反斜杠来表明您在删除命令中使用不同的分隔符:\

sed '\|text|d' file

GNU Sed 手册中通过文本匹配选择行

相关内容