在unix / linux中以数字方式排序"排序-V"无法使用

时间:2016-09-15 07:07:51

标签: linux bash sorting awk sed

我想在数字文件中对下面显示的行进行排序。它并没有像预期的那样出现。

$ cat test
abc1
abc10
abc2
abc11
abc20
abcd1
abcd10
abcd2
abcd11
abcd20
$

输出: -

$ sort test
abc1
abc10
abc11
abc2
abc20
abcd1
abcd10
abcd11
abcd2
abcd20
$

预期输出: -

abc1
abc2
abc10
abc11
abc20
abcd1
abcd2
abcd10
abcd11
abcd20

请帮助,谢谢你的推荐

1 个答案:

答案 0 :(得分:5)

使用sort -V进行字母数字排序,其中数字是字符串的一部分。

-V, --version-sort          natural sort of (version) numbers within text

sort -V test
abc1
abc2
abc10
abc11
abc20
abcd1
abcd2
abcd10
abcd11
abcd20