web-dev-qa-db-ja.com

sed:-e式#1、char 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
Tsifi Stifen

これを試して、

_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_インラインで編集します。
0
Siva