如何按 ASCII 顺序对文本文件行进行排序?

如何按 ASCII 顺序对文本文件行进行排序?

假设我有以下 file.txt:

foo-a baz
foo bar
foo-c baz

如果我运行sort file.txt,我会得到相同的输出:

foo-a baz
foo bar
foo-c baz

由于(space) 在 ASCII 中位于前面-,所以我期望输出为:

foo bar
foo-a baz
foo-c baz

事件 ifsort查看整个单词,我仍然希望foo出现在 和foo-a之前foo-c

我尝试过sort -d(字典)、 sort -g(一般数字)和sort -h(人类数字)但没有成功。有没有办法使用排序获得我想要的顺序?否则,使用另一个基本实用程序(我知道使用 python、perl、ruby 等很容易做到,但我正在编写一个需要可移植的 shell 脚本)。

相关内容