没有分隔符的列上的unix排序

前端之家收集整理的这篇文章主要介绍了没有分隔符的列上的unix排序前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我想根据特定的列使用Unix脚本对文件内容进行排序:

例如:在第3列上排序以下文件

  1. ax5aa
  2. aa3ya
  3. fg7ds
  4. pp0dd
  5. aa1bb

会导致

  1. pp0dd
  2. aa1bb
  3. aa3ya
  4. ax5aa
  5. fg7ds

我尝试了排序-k 3,3,但它只是对3d组的单词排序(separator = SPACE).

有没有办法让unix排序按照我喜欢的方式运行,或者我应该使用其他工具?

  1. $sort --key=1.3,1.3 inputfile
  2. pp0dd
  3. aa1bb
  4. aa3ya
  5. ax5aa
  6. fg7ds

排序手册页:

[…]

-k,– key = POS1 [,POS2]

在POS1(原点1)开始一个键,在POS2结束它(默认行尾)

[…]

POS是F [.C] [OPTS],其中F是字段编号,C是字段中的字符位置;两者都是原点1.如果-t和-b都没有生效,则字段中的字符从前一个空格的开头计算. OPTS是一个或多个单字母排序选项,它覆盖该键的全局排序选项.如果没有给出密钥,请使用整行作为密钥.

使用–key = 1.3,1.3,您说只有一个字段(整行)并且您正在比较该字段的第三个字符位置.

猜你在找的Bash相关文章