【发布时间】:2019-04-22 10:39:38
【问题描述】:
我正在尝试通过使用 AWK 在制表符分隔的 txt 文件中选择给定变量的第一行和最后一行来过滤文件。
制表符分隔的文件如下所示:
1 apple 30
2 apple 35
3 apple 36
4 apple 20
5 pear 10
6 pear 30
7 pear 45
8 orange 16
END
我正在尝试使用 awk 进行处理,只打印 $2 中每个变量的第一行和最后一行(本例中的水果列)
我实际拥有的文件长度约为 35000 行,并且在我想用作过滤器的列中有 3000 个唯一变量(因此在上面的示例 col2 中)
我在想的方法是创建一个唯一 col2 值的数组(苹果、梨、橙),然后使用这个数组从较大的文件中提取第一个和最后一个值......但是一些关于命名的建议需要为每个索引变量选择第一行和最后一行将不胜感激。 :)
上面给出的输入文件,预期的输出是
1 apple 30
4 apple 20
5 pear 10
7 pear 45
8 orange 16
输出也需要包含只有一个条目的那些(在本例中为橙色)
【问题讨论】:
-
文件是否在 column2 上排序?
-
嗨,是的,文件在第 2 列排序。