使用前面的bash脚本,我创建了一个文件列表:
data_1_box
data_2_box
...
data_10_box
...
data_99_box
问题是,现在我需要将它们连接起来,所以我尝试
ls -l data_*
但我得到了
.....
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中完成吗?
发布于 2009-11-17 15:06:26
ls data_* | sort -n -t _ -k 2
-n:按数字排序
-t:字段分隔符“_”
-k:对第二个字段进行排序,在本例中是第一个“_”之后的数字
发布于 2009-11-17 15:10:01
对ls
使用-v
标志怎么样?该标志的目的是根据版本号对文件进行排序,但它在这里同样适用,并且不需要通过管道将结果发送到sort
ls -lv data_*
发布于 2009-11-17 15:07:47
如果您的sort
具有版本排序功能,请尝试:
ls -1 | sort -V
(这是一个大写的V)。
https://stackoverflow.com/questions/1747047
复制相似问题