我有如下数据:
1493992429103289,207.55,207.5
1493992429103559,207.55,207.5
1493992429104353,207.55,207.5
1493992429104491,207.6,207.55
1493992429110551,207.55,207.5
由于最后两列的性质,它们的值在一整天都在变化,它们的值会定期重复.通过对我所需输出(下面)中概述的方式进行分组,我可以在每次值发生变化时查看(第一列中的enoch时间).有没有办法实现下面显示的所需输出:
1493992429103289,207.55,207.5
1493992429104491,207.6,207.55
1493992429110551,207.55,207.5
所以我通过后两列整合数据.然而,整合并不是完全独特的(可以看出207.55,207.5重复)
我试过了:
uniq -f 1
但是,输出仅提供第一行,而不会通过列表继续
下面的awk解决方案不允许先前发生的事件再次输出,因此给出输出(在awk代码下面):
awk '!x[$2 $3]++'
1493992429103289,207.55,207.5
1493992429104491,207.6,207.55
我不希望通过后两列对数据进行排序.但是,由于第一个是纪元时间,因此可以按第一列进行排序.
解决方法:
你不能用uniq设置分隔符,它必须是空格.在tr的帮助下你可以
tr ',' ' '
1493992429104491,207.6,207.55
1493992429110551,207.55,207.5