linux - 按第一个字符串对文本文件进行排序(直到 '=' )

标签 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 中根据首字母缩写词升序对这个文本文件进行排序,首字母缩写词是每行中的第一个字符串(直到“=”)。关于实现此目标的最佳方法有什么建议吗?

最佳答案

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

在您的简单情况下:

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

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

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

sort -t =

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

关于linux - 按第一个字符串对文本文件进行排序(直到 '=' ),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42042420/

相关文章:

Linux Bash 脚本 - 将参数中的小写路径与实际文件系统路径匹配

bash - CSV 复制/复制第一行到表格

shell - 如何在 BPXBATCH 中编写长 z/OS UNIX shell 命令

linux - 如何在 Linux 中以用户身份为 gfortran 设置环境?

linux - 使用 AWK 替换列值

python - cron任务设置环境变量失败

linux - 如何从 shell 脚本中 unix 命令的输出中的特定行获取特定单词?

linux - 如何使用 Linux shell 脚本在 Django 中创建 super 用户?

python - 如何从代码中读取失败队列(rq)的回溯?

php - ZendDebugger 无法在 Mint 12 中打开 libssl.so.0.9.8