![是否可以将表格中相似的行排序并将数字放在一列中?](https://linux22.com/image/165374/%E6%98%AF%E5%90%A6%E5%8F%AF%E4%BB%A5%E5%B0%86%E8%A1%A8%E6%A0%BC%E4%B8%AD%E7%9B%B8%E4%BC%BC%E7%9A%84%E8%A1%8C%E6%8E%92%E5%BA%8F%E5%B9%B6%E5%B0%86%E6%95%B0%E5%AD%97%E6%94%BE%E5%9C%A8%E4%B8%80%E5%88%97%E4%B8%AD%EF%BC%9F%20.png)
我有这张桌子
gene 5 5 5
gene 4 4 3
gene 5 5 5
gene 1 4 5
我想要以下内容,
gene 5 5 5 2
gene 4 4 3 1
gene 1 4 5 1
因此,在最后一列中,我将有许多类似的行(在本例中gene 5 5 5
,它是 ,在原始表中出现两次,而其他行仅出现一次)。
最好的方法是什么?这是一份工作吗awk
?事实上,在 Linux 中这可能吗?
答案1
$ sort data.txt|uniq -c|sed -e 's/[ ]*\([0-9]\) \(.*\)$/\2 \1/'|sort -nrk 5
gene 5 5 5 2
gene 4 4 3 1
gene 1 4 5 1