私は1つのファイル(例えば:test.txt)を持っていますが、このファイルにはいくつかの行が含まれています。例えば、次の行は1行です:abcd = 11 例:abcd = 12 番号は異なりますがabcd =いずれの場合も同じですから、誰も私にこの行を見つけてそれを削除する命令を与えることができますか?Unixのファイルから行を見つけて削除するには?
私が試してみました:sed -e \"/$abcd=/d\" /test.txt >/test.txt
が、それは私のファイルからすべての行を削除し、私も試してみました:sed -e \"/$abcd=/d\" /test.txt >/testNew.txt
が、それはあるtest.txtから行を削除しません、それだけで、このファイルに新しいファイル(testNew.txt)とを作成し、それは私の行を削除します。しかし、それは私が望むものではありません。ここで
$ ABCDのあるtest.txt削除した後test.txtのためにこの名前を変更することが必要な場合tmp.txt内容
を持つことになり、今この
を行う必要がありますシェルによって解析される予定です。そのシェルvarが定義されていないと、引数から効果的に "削除"されます。それはあなたのsed呼び出しを '\"/=/d \ "'にし、 '='を持つすべての行をトーストします。 –