【发布时间】:2016-01-11 15:20:54
【问题描述】:
我想得到一个排序的文件列表。文件具有以下命名约定:
DATENUMBER.txt(不含空格)。
例如,2015-12-09 上的文件 3 看起来像:201512093.txt
ls 的 version sort 选项对我没有帮助:
ls -v:
201512183.txt
201512184.txt
201512188.txt
201512191.txt
201512195.txt
201512199.txt
2015121810.txt
2015121813.txt
2015121910.txt
2015121911.txt
2015121932.txt
sort -V, --key=1.[number] do not work too 因为我有不同的文件名长度。
由于日期和数字之间没有分隔符,sort -t, -k 也不起作用。
如您所见,我需要按文件名中的前 8 个符号对文件列表进行排序,然后再按另一部分行数。
预期输出:
201512183.txt
201512184.txt
201512188.txt
2015121810.txt
2015121813.txt
201512191.txt
201512195.txt
201512199.txt
2015121910.txt
2015121911.txt
2015121932.txt
【问题讨论】:
-
您的输出显示已排序的文件。您的预期输出是什么?
-
抱歉,添加了我的预期!
-
您希望它们如何排序?它们看起来已经排序了...
-
No-no) 前 8 个符号首先是日期,另一部分是第二个。
标签: linux bash linux bash sorting