下記のファイルから,「AAA」を含む行を削除したいが
「BBB='none'」が含まれていたら残したい
grepコマンドでvオプションを指定すればできそうだが,
「〜含まれていたら残す」条件が書けなかった.
AAA BBB='none'
AAA CCC='none'
BBB
CCC
AAA
BBB
(2行目と5行目が削除対象)
回避策として
で削除することができた.
$ cat greptest.txt| awk '{if(!/BBB=\047none\047/&&/AAA/){}else{print $0}}'
「\047」はシングルコォートです.
awkにシングルクォートが指定できず,下記サイトを参考にさせていただきました.
「awk でシングルクォートを扱う」
http://gauc.no-ip.org/awk-users-jp/blis.cgi/DoukakuAWK_080