Linux
如何根據特定欄位中的值從管道分隔的文件中刪除一行?
我有一個豎線分隔的文件,如下所示:
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
sed 範例:
sed '/\|.*\|.*\|NULL/d' <file>
當 NULL 始終位於行尾時的 sed 範例:
sed '/NULL$/d' <file>
awk -F"|" '{if ($4!~/NULL/) {print $0} }' file