1

我想使用 unix 的comm命令来比较不同的结果redis

Redis 输出将是由新行分隔的字符串,例如:

# redis-cli smembers set_1
1) "term 1"
2) "term 2"
3) "term 3"

#redis-cli smembers set_2
1) "term 2"
2) "term 4"

所以我正在尝试类似的东西:

comm -12 <(sort redis-cli smembers "set_1") <(sort redis-cli smembers "set_2")

但是这里显然有问题,我认为这个排序命令只适用于实际文件,而不适用于输出。

那么是否可以使用commredis的输出进行排序呢?

4

1 回答 1

2

但是这里显然有问题

是的,sort希望文件名作为参数(除了排序选项)。

你可以说:

comm -12 <(redis-cli smembers "set_1" | sort) <(redis-cli smembers "set_2" | sort)

请注意,根据 的输出所需的排序redis-cli ...,您可能希望将参数传递给sort. -k, -s,等选项-t可能会有所帮助。

于 2013-12-22T09:45:27.173 回答