如何按照相关文件的块创建时间对文件进行排序/分组

时间:2018-01-15 21:24:20

标签: bash file sorting command-line-interface

我正在寻找一种对相关文件进行排序的方法(几乎同时创建的文件)

我最好的解决方案atm旋转抓取最早的文件并将其移动到一个文件夹,然后继续下一个文件,检查该文件是否是在... 5分钟内创建的。 如果是这样,请将其移动到同一文件夹并检查以下文件。如果没有转到下一个文件,请创建一个新文件夹,将其移动到那里并检查以下文件。

必须有更好/更聪明的方式。可以根据文件整体检测模式并对其进行相应排序的方法。

编辑:我想在大致相同的时间不断创建文件。

1 个答案:

答案 0 :(得分:0)

如果我理解正确的任务......例如:

$ ls -l
-rw-rw-r-- 1 vkd vkd 0 янв 16 13:15 file1
-rw-rw-r-- 1 vkd vkd 0 янв 16 13:15 file2
-rw-rw-r-- 1 vkd vkd 0 янв 16 13:15 file3
-rw-rw-r-- 1 vkd vkd 0 янв 16 13:15 file4
-rw-rw-r-- 1 vkd vkd 0 янв 16 13:15 file5

尝试将ls与选项--full-time-t

一起使用
$ ls --full-time -t
total 0
-rw-rw-r-- 1 vkd vkd 0 2018-01-16 13:15:06.697332260 +0600 file5
-rw-rw-r-- 1 vkd vkd 0 2018-01-16 13:15:05.609343871 +0600 file4
-rw-rw-r-- 1 vkd vkd 0 2018-01-16 13:15:04.737353175 +0600 file3
-rw-rw-r-- 1 vkd vkd 0 2018-01-16 13:15:03.557365763 +0600 file2
-rw-rw-r-- 1 vkd vkd 0 2018-01-16 13:15:02.601375961 +0600 file1

反向:

ls --full-time -t -r
total 0
-rw-rw-r-- 1 vkd vkd 0 2018-01-16 13:15:02.601375961 +0600 file1
-rw-rw-r-- 1 vkd vkd 0 2018-01-16 13:15:03.557365763 +0600 file2
-rw-rw-r-- 1 vkd vkd 0 2018-01-16 13:15:04.737353175 +0600 file3
-rw-rw-r-- 1 vkd vkd 0 2018-01-16 13:15:05.609343871 +0600 file4
-rw-rw-r-- 1 vkd vkd 0 2018-01-16 13:15:06.697332260 +0600 file5