我试图按照以下格式对大量文件进行排序:
file-55_357-0.csv
file-55_357-1.csv
file-55_357-2.csv
file-55_357-3.csv
...
在bash或perl中有一种简单的方法吗?换句话说,有没有办法编写perl脚本,以便按数字顺序遍历所有这些脚本?例如,当我创建my @files
时,我是否可以确保脚本在此排序中完成所有操作 - 如何创建my @sorted
数组?我问,因为我想垂直地将所有这些文件附加在一起,并且它们需要按排序顺序排列。非常感谢!
答案 0 :(得分:2)
您可以使用sort
命令,该命令既不是bash的一部分,也不是perl的一部分。
使用input.txt
中的输入数据:
file-55_357-123.csv
file-55_357-0.csv
file-55_357-21.csv
file-55_357-3.csv
从我的shell,(任何shell,而不仅仅是bash)我可以执行以下操作:
$ sort -t- -nk3 input.txt
file-55_357-0.csv
file-55_357-3.csv
file-55_357-21.csv
file-55_357-123.csv
-t
选项指定一个分隔符,-n
表示要比较数值(以便21在3之后而不是之前),而-k 3
表示对第三个字段进行排序(每个分隔符。)
答案 1 :(得分:1)
SearchImage