sort -k 2 data.txt
使用-k选项,我们可以指定要比较的字段。但是,字段由空格分隔。如何修改我的命令,以便我可以使分隔符为空格和冒号:':'一起?
例如,
james:ben tom:jamie
有4个字段。
预期投入: 我的data.txt文件:
apple:tiger jack
orange:ant tom
pear:bird james
预期输出:使用带有-k 2
的sort命令orange:ant tom
pear:bird james
apple:tiger jack
答案 0 :(得分:2)
如果您找到正确的解决方案,我会感兴趣。我目前对这种情况的解决方法是修改排序输入,然后撤消修改:
printf "1:2 3:4\n2:3 4:1\n3:4 1:2\n4:1 2:3\n" |
sed 's/:/ :/g' | sort -k 4 | sed 's/ :/:/g'
您可以将-k
之后的数字修改为1到4之间的任何数字。输出将是这样的(4):
2:3 4:1
3:4 1:2
4:1 2:3
1:2 3:4