如何根据特定列的值过滤文件

如何根据特定列的值过滤文件

这是原始数据

TableName|Record ID|Session ID|Duration 
table1|1|1|0
table2|2|2|1
table3|3|3|1
table4|4|4|0     

我想在我的 Linux 中显示持续时间不为 0 值的输出,如下所示

TableName|Record ID|Session ID|Duration
table2|2|2|1
table3|3|3|1

谢谢你!!

答案1

最适合根据行式文件列做出决策的工具是awk.类似的东西awk -F "|" '$4!=0' table,在哪里桌子是包含您的数据的文件。该程序假定竖线作为列分隔符。awk逐行工作。它的默认操作是当程序中给定的条件为真时打印一行。此处,将打印第 4 列不为 0 的每一行。

有关更精彩的 awk 内容,请参阅写得相当好的GNU awk 手册

相关内容