2016-08-22 9 views
1

にファイルから削除し、私は、テキストの下に格納されたファイル(FILE1.TXT)があります。検索特定の単語およびLinux

mon 
tue 
tue_day 
tuesday 
wed 

を、私は言葉「火曜」を検索し、このことから、それを削除したいですファイル。 私は

sed -i "/tue/d" file1.txt 

を使用しますが、それは火曜単語、すなわちライン2,3と4を含むすべての行は、私は、ファイルから削除する、まったく同じテキストをconatinsのみ2行目を削除する削除します。

お願いします。

+0

は '正規表現tutorial'をGoogleとそれを取ります。 –

答えて

2

ちょうどsedに、あなたは正確に "色調"の線がほしいと言ってください。どうやって?先頭に追加して始まり、行の終わりを示すために、^$を追加:変数で与えられた何かを置き換えるには

$ sed '/^tue$/d' file 
mon 
tue_day 
tuesday 
wed 

、このような二重引用符を使用します。

var="tue" 
sed -i "/^$var$/d" file 
+0

ありがとうございました... もう1つのクエリどのようにsedコマンドで "tue"の代わりに変数を使用しますか? のようになりました。 sed -i "/ $ var/d"ファイル –

+0

@SagarPatilは 'var =" tue "'と 'sed -i"/^ $ var $/d "file'と言うだけです。変数を展開するには、二重引用符を使用する必要があります。私はこれを反映するために私の答えを更新しました。 – fedorqui

+1

スクリプトのセクションをシェルにできるだけ簡潔にすることを考えてください。 'sed -i '/ ^'" $ var "'$/d' file'。私はこのケースでは問題にはならないと思っていますが、それはあなたのスクリプトが大きくなったり複雑になったりするときにゴスカが驚くことはないので、使い慣れた習慣を身につけるより頑丈なスタイルです。 –

関連する問題