sed: -e 式 #1、文字 1: 不明なコマンド: ""

sed: -e 式 #1、文字 1: 不明なコマンド:

同様の質問を読んだが、誰も私の問題を解決できませんでした。

特定のファイルから特定の行を削除したいです。スクリプトでsedを使用しており、ここにコードがあります。

line="this"
del='echo "'/"$line"/d'"' #it's a AltGr+7 on AZERTY keyboard but for readability of the code I use '
sed -i $del /home/example/fic.txt

私も次のことを試しました。

line="this"
del='echo "/"$line"/d"'
sed $del /home/example/fic > /home/example/fic

しかし、同じエラーがあります。

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

ベストアンサー1

この試み、

line="this"
del=`echo "/"$line"/d"`
sed $del /home/example/fic > /home/example/fic

コード内の変数に値を割り当てるときは、単一​​引用符を使用してくださいdel。実行する代わりに静的文字列として扱われます。バックティックまたはを使用して$()これを行うことができます。

より良い方法、

line="this"
sed -i "/$line/d" /home/example/fic
  • -iオンライン編集。

おすすめ記事