按第一个字符串bash文本文件排序(直到' =')

时间:2017-02-04 16:02:03

标签: linux bash shell

我有一个缩写词的文本文件。每行以首字母缩写词(大写)开头,通常最多4个字母,然后" ="然后是解释。例如,

...

EST=Eastern Standard Time
OVS=Open vSwitch
IPMI=Intelligent Platform Management Interface 

...

IHV=Independent Hardware Vendor    
ISV=Independent Software Vendor

...

我想在bash中按照首字母缩写词的升序排序这个文本文件,这是每行中的第一个字符串(直到" =")。有关实现这一目标的最佳方法的任何建议吗?

1 个答案:

答案 0 :(得分:2)

查看sort命令(man sort)。它具有分隔键和建立排序参数的各种选项。

在你的简单案例中:

sort --field-separator="=" < sort.list

会将主键设置为=的所有内容,并按升序对其进行排序。

还有一个“简短形式”,(感谢@karafka!):

sort -t =

使用多个键和其他选项查看man sort有关排序顺序的详细信息。