他全部,
我有一个包含一些列的文件.我想对第2列进行排序然后将uniq应用于第1列.我发现这个 post在同一列中讨论了sort和uniq,但我的问题有点不同.我正在考虑使用sort和uniq但不知道如何使用.谢谢.
我有一个包含一些列的文件.我想对第2列进行排序然后将uniq应用于第1列.我发现这个 post在同一列中讨论了sort和uniq,但我的问题有点不同.我正在考虑使用sort和uniq但不知道如何使用.谢谢.
解决方法
您可以使用管道,但它不到位.
示例:
$cat initial.txt 1,3,4 2,1 1,2,3 2,4 1,4,1 3,1,3 4,4 $cat initial.txt | sort -u -t,-k1,1 | sort -t,-k2,2 3,1
结果按键2排序,按键1唯一.注意结果显示在控制台上,如果你想在文件中,只需使用重定向(> newFiletxt)
这种更复杂操作的其他解决方案是依赖于另一种工具(取决于您的偏好(和年龄),awk,perl或python)
编辑:
如果我理解正确的新要求,它按字母2排序,第1列对于给定的列2是唯一的:
$cat initial.txt | sort -u -t,2 | sort -t,3 1,1
这是你期望的吗?否则,我不明白:-)