Unix 中的排序命令与数字排序

Unix 中的排序命令与数字排序

我有文件1:

"$lvl=57"
"$lvl=20"
"$lvl=48"
"$lvl=17"
"$lvl=58"

我想要的文件2:

"$lvl=17"
"$lvl=20"
"$lvl=48"
"$lvl=57"
"$lvl=58"

基本上对 file1 进行数字排序。

答案1

我喜欢在(来自 GNU )的一些实现中找到的-V/选项:它在许多混合字符串和数字的情况下表现得非常好--version-sortsortsort

sort -V

我经常使用这个选项...

在相同的方向上,使用ls, 的一些实现ls -v来进行版本排序ls(来自 GNU ls)。

答案2

您需要告诉sort -n对以下部分之后的部分进行排序=

sort -t = -k 2n

答案3

我发现,你只要跑sort -h,它就会起作用。他们称之为--human-numberic-sort

sort -h file1 > file2

答案4

使用排序:

sort -n file1 > file2

-n, --numeric-sort
根据字符串数值进行比较

 sort -g file1 > file 2

-g, --通用数字排序

相关内容