我想根据特定的列使用Unix脚本对文件内容进行排序:
例如:在第3列上排序以下文件:
ax5aa aa3ya fg7ds pp0dd aa1bb
会导致
pp0dd aa1bb aa3ya ax5aa fg7ds
我尝试了排序-k 3,3,但它只是对3d组的单词排序(separator = SPACE).
有没有办法让unix排序按照我喜欢的方式运行,或者我应该使用其他工具?
$sort --key=1.3,1.3 inputfile pp0dd aa1bb aa3ya ax5aa fg7ds
排序手册页:
[…]
-k,– key = POS1 [,POS2]
在POS1(原点1)开始一个键,在POS2结束它(默认行尾)
[…]
POS是F [.C] [OPTS],其中F是字段编号,C是字段中的字符位置;两者都是原点1.如果-t和-b都没有生效,则字段中的字符从前一个空格的开头计算. OPTS是一个或多个单字母排序选项,它覆盖该键的全局排序选项.如果没有给出密钥,请使用整行作为密钥.
使用–key = 1.3,1.3,您说只有一个字段(整行)并且您正在比较该字段的第三个字符位置.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。