Sort files numerically in bash

时间秒杀一切 提交于 2019-11-27 23:08:08

I would try following code. Works on my testing scenario:

ls -1 *\.flv | sort -n -k1.2

The ls lists flv files 1 on each line, sort takes first (and only one) word on each line starting on second character (start of the number). Sorts numerically

to sort numerically after first character, try this :

sort -k1.2n

Given a folder with sequentially named files from 1.flv to 9999.flv

ls -v1 *.flv

will output:

1.flv
2.flv
...
10.flv
...
90.flv
...
100.flv
101.flv
...
9999.flv

From the man page:

    -v     natural sort of (version) numbers within text
    -1     list one file per line

For brevity, the two flags above can be clubbed together as -v1.

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!