2015-01-01 19 views

答えて

8

この意志:

cat kitty dog 
giraffe panda 
lion tiger 

私は、呼び出されたときに、単語 catを含まないすべての行を削除しますsedコマンドをしたい:例えば

、私はこのファイルを持っています操作を行います。

sed -i '/cat/!d' file1.txt 

が完全一致を強制するには:

完全一致を強制 \<\> &
sed -i '/\<cat\>/!d' file1.txt 

又は

sed -i '/\bcat\b/!d' file1.txt 

+1

また、 'sed -n '/ cat/p'' –

+0

' scatter'という単語を含む入力でそれを試してみてください。それは望ましい行動ですか? –

+1

@エドモートン:フィードバックいただきありがとうございます。 – Amit

4

あなたの要件は「私に文字列catを含むすべての行を渡します」となります。なぜ単にgrepを使用していない:(ケントで指摘したように)

grep cat file 
1

あなたが単語 '猫' のcontaingすべての行を表示するには、このawk

awk '/cat/' file 
1

を使用することができます。

grep cat file 

単語「cat」を含まないすべての行を表示する:

grep -v cat file 
関連する問題