使用以前的bash脚本,我创建了一个文件列表:
data_1_box
data_2_box
...
data_10_box
...
data_99_box
Run Code Online (Sandbox Code Playgroud)
问题是,现在我需要连接它们,所以我尝试了
ls -l data_*
但我明白了
.....
data_89_box
data_8_box
data_90_box
...
data_99_box
data_9_box
Run Code Online (Sandbox Code Playgroud)
但我需要进入1,2,4,4,... 9,......,89,90,91,......,99
可以用bash完成吗?
Pup*_*ppe 64
ls data_* | sort -n -t _ -k 2
Run Code Online (Sandbox Code Playgroud)
-n:对数字进行排序
-t:字段分隔符'_'-
k:在第二个字段上排序,在您的情况下是第一个'_'之后的数字
Pär*_*der 20
如何使用-v旗帜ls?该标志的目的是根据版本号对文件进行排序,但它在这里也可以正常工作,并且无需将结果传递给sort:
ls -lv data_*
Run Code Online (Sandbox Code Playgroud)