+----+-------+-----+
| ID | STORE | QTY |
+----+-------+-----+
| | | |
| 9 | 101 | 18 |
| | | |
| 8 | 154 | 19 |
| | | |
| 7 | 111 | 13 |
| | | |
| 9 | 154 | 18 |
| | | |
| 8 | 101 | 19 |
| | | |
| 7 | 101 | 13 |
| | | |
| 9 | 111 | 18 |
| | | |
| 8 | 111 | 19 |
| | | |
| 7 | 154 | 14 |
+----+-------+-----+
假设我有3个商店,并且我想为每个商店的每个商店提供STORE。
例如id 9在3个商店,每个商店有18个数量, 但是id 7在商店中,但只有两个商店有相同的数量(在商店111和101 - 在154 - id有14个数量);如何使用grep获得该结果?
你认为不可能将这一个用于一个表达式吗?我想到了正则表达式,但我不知道以哪种方式获得数量并与另一行进行比较。在我的文件中,它看起来像:
答案 0 :(得分:0)
按cut
提取第一列和最后一列,计算uniq组合的数量,并仅输出计数为3的那些(即所有三个商店的值相同):
$ cut -d\| -f2,4 | sort | uniq -c | grep '^ *3 '
3 8 | 19
3 9 | 18