同様の質問を読んだが、誰も私の問題を解決できませんでした。
特定のファイルから特定の行を削除したいです。スクリプトで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
オンライン編集。