2013-12-22 37 views
1

我想使用unix的comm命令来比较redis的不同结果。从终端排序redis输出使用comm命令

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")

但显然这里有什么不对,我觉得这sort命令仅适用于实际文件,而不适用于输出。

那么有可能使用comm排序redis的输出吗?

回答

2

但显然有些不对劲这里

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

你可以说:

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

注意,根据所需的排序为redis-cli ...输出,你可能想传递参数给sort。诸如-k-s,-t之类的选项可能会有所帮助。