没有外壳脚本,只需一行。什么命令可以帮助您根据列值从行中剪切

例如:



118 Balboni,Steve 23
11 Baker,Doug 0
120 Armas,Tony 13
133 Allanson,Andy 5
158 Baines,Harold 13
33 Bando,Chris 1
44 Adduci,James 1
50 Aguayo,Luis 3
5 Allen,Rod 0
94 Anderson,Brady 1


如果第三行不为零,如何在一条语句中完全删除该行?在UNIX中有可能吗?

最佳答案

假设问题确实在询问“第三列是否为非零,不要打印”或(等效地)“仅在第三列为0时才打印行”:

使用awk

awk '$3 == 0' data


(如果第三列为零,则打印输入;否则,将其忽略。您可以在{ print }之后添加0以使操作明确。)

使用perl

perl -nae 'print if $F[2] == 0' data


使用sed

sed -n '/ 0$/p' data

关于linux - 基于列值的Unix中的切割元素,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/14996508/

10-10 14:15