我用之前的 bash 脚本创建了一个文件列表:
data_1_box
data_2_box
...
data_10_box
...
data_99_box
问题是现在我需要连接它们,所以我尝试了
ls -l 数据_*
但是我明白了
.....
data_89_box
data_8_box
data_90_box
...
data_99_box
data_9_box
但我需要进入连续 1, 2, 3, 4, .. 9, ..., 89, 90, 91, ..., 99
可以在 bash 中完成吗?
最佳答案
ls data_* | sort -n -t _ -k 2
-n: 按数字排序
-t: 字段分隔符 '_'
-k:在第二个字段上排序,在您的情况下是第一个“_”之后的数字
关于按顺序对文件进行 Bash 和排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1747047/