给了很多文件,sort -n给了我这个结果:
f1.txt
f10.txt
f2.txt
Run Code Online (Sandbox Code Playgroud)
这对我来说似乎不正确。解释是什么?
我可以默认得到这个吗:
f1.txt
f2.txt
f10.txt
Run Code Online (Sandbox Code Playgroud)
我建议使用
sort -V data.txt
Run Code Online (Sandbox Code Playgroud)
-V 代表“版本排序”,它基本上可以正确处理字母和数字字符,因此如果您有更多文件,请说:
f1.txt
f10.txt
f2.txt
a1.txt
a10.txt
a2.txt
Run Code Online (Sandbox Code Playgroud)
然后sort -V会给你
a1.txt
a2.txt
a10.txt
f1.txt
f2.txt
f10.txt
Run Code Online (Sandbox Code Playgroud)
而sort -k 1.2n或sort -n -k 1.2:
a1.txt
f1.txt
a2.txt
f2.txt
a10.txt
f10.txt
Run Code Online (Sandbox Code Playgroud)