Sort files numerically in bash

前端 未结 3 869
后悔当初
后悔当初 2020-12-01 14:50

I need to sort .flv files numerically and i was able to do it with the following command:

ls *\\.flv | sort --version-sort -f

but with many

相关标签:
3条回答
  • 2020-12-01 15:28

    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

    0 讨论(0)
  • 2020-12-01 15:29

    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.

    0 讨论(0)
  • 2020-12-01 15:35

    to sort numerically after first character, try this :

    sort -k1.2n
    
    0 讨论(0)
提交回复
热议问题