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 マニュアルのテキストマッチングによる行の選択

関連情報