文件列表:
sysbench-size-256M-mode-rndrd-threads-1
sysbench-size-256M-mode-rndrd-threads-16
sysbench-size-256M-mode-rndrd-threads-4
sysbench-size-256M-mode-rndrd-threads-8
sysbench-size-256M-mode-rndrw-threads-1
sysbench-size-256M-mode-rndrw-threads-16
sysbench-size-256M-mode-rndrw-threads-4
sysbench-size-256M-mode-rndrw-threads-8
sysbench-size-256M-mode-rndwr-threads-1
sysbench-size-256M-mode-rndwr-threads-16
sysbench-size-256M-mode-rndwr-threads-4
sysbench-size-256M-mode-rndwr-threads-8
sysbench-size-256M-mode-seqrd-threads-1
sysbench-size-256M-mode-seqrd-threads-16
sysbench-size-256M-mode-seqrd-threads-4
sysbench-size-256M-mode-seqrd-threads-8
sysbench-size-256M-mode-seqwr-threads-1
sysbench-size-256M-mode-seqwr-threads-16
sysbench-size-256M-mode-seqwr-threads-4
sysbench-size-256M-mode-seqwr-threads-8
Run Code Online (Sandbox Code Playgroud)
我想按模式(rndrd,rndwr等)对它们进行排序,然后编号:
sysbench-size-256M-mode-rndrd-threads-1
sysbench-size-256M-mode-rndrd-threads-4
sysbench-size-256M-mode-rndrd-threads-8
sysbench-size-256M-mode-rndrd-threads-16
sysbench-size-256M-mode-rndrw-threads-1
sysbench-size-256M-mode-rndrw-threads-4
sysbench-size-256M-mode-rndrw-threads-8
sysbench-size-256M-mode-rndrw-threads-16
....
Run Code Online (Sandbox Code Playgroud)
我尝试了以下循环,但它按数字排序,但我需要像1,4,8,16这样的序列:
$ for f in $(ls -1A); do echo $f; done | sort -t '-' -k 7n
Run Code Online (Sandbox Code Playgroud)
编辑:
请注意数字排序(-n)按数字(1,1,1,1,4,4,4,4 ...)排序,但我需要像1,4,8,16,1,4这样的序列, 8,16 ...
按更多列排序:
sort -t- -k5,5 -k7n
Run Code Online (Sandbox Code Playgroud)
主要排序是第5列(而不是其余的,这就是原因5,5),在第7列中按编号进行二级排序.