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 マニュアルでテキスト一致で行を選択

関連情報