从终端排序redis输出以与comm命令一起使用

时间:2013-12-22 05:56:27

标签: sorting unix redis comm

我想使用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")

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

那么可以使用comm对redis的输出进行排序吗?

1 个答案:

答案 0 :(得分:2)

  

但这里显然有问题

是的,sort会将文件名作为参数(除了排序选项之外)。

你可以说:

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

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