次のようにパイプで区切られたファイルがあります。
968666|JOHN|M|DOB
145465|DAVID|M|NULL
898563|SAUL|NULL|DOB
968666|JOHN|F|NULL
列4にNULLを含む行を削除する方法は?
期待される出力
968666|JOHN|M|DOB
898563|SAUL|NULL|DOB
答え1
sed 例:
sed '/\|.*\|.*\|NULL/d' <file>
NULLが常に行末にあるときのsedの例:
sed '/NULL$/d' <file>
答え2
awk -F"|" '{if ($4!~/NULL/) {print $0} }' file