
次のファイルがあります。
AA 110 B 2 .. BB 3 ... BBB 3 D F 3 D D
AA 111 B 2 .. BB 3 ... BBB 0 F F 0 F F
AA 112 C 2 .. BB 3 ... BBB 0 D F 0 D F
AA 120 D 2 .. FF 3 ... FFF 3 D F 3 D D
特定の値0を含む行を削除したいと思います。私がこうすれば:
sed '/0/d' infile > newfile
そして、行1及び4は、110及び120に「0」が含まれているので削除される。私はgrepgrep -v '0' infile > newfile
やawkの他のオプションを試しましたが、成功しませんでした。
これを行う簡単な方法があると確信していますが、見つかりません。どんなアイデアがありますか?
ありがとうございます!
答え1
完全な単語に一致するように-w
追加:grep
$ grep -vw 0 infile
AA 110 B 2 .. BB 3 ... BBB 3 D F 3 D D
AA 120 D 2 .. FF 3 ... FFF 3 D F 3 D D
答え2
努力する単語境界アンカー
sed '/\b0\b/d' file
AA 110 B 2 .. BB 3 ... BBB 3 D F 3 D D
AA 120 D 2 .. FF 3 ... FFF 3 D F 3 D D
答え3
タブ区切り記号の更新
sed '/\t0\t/d' infile > newfile
しかし、これはより安全です。
sed '/\b0\b/d' infile > newfile