获取按日期分组的文件列表

Ani*_*mj' 5 ls files

我有一个每天都有文件的目录。现在我想按日期压缩这些文件。无论如何要分组/列出在同一日期登陆的文件。

假设目录中有以下文件

-rw-r--r--. 1 anirban anirban    1598 Oct 14 07:19 hello.txt
-rw-r--r--. 1 anirban anirban    1248 Oct 14 07:21 world.txt
-rw-rw-r--. 1 anirban anirban  659758 Oct 14 11:55 a
-rw-rw-r--. 1 anirban anirban    9121 Oct 18 07:37 b.csv
-rw-r--r--. 1 anirban anirban     196 Oct 20 08:46 go.xls
-rw-r--r--. 1 anirban anirban    1698 Oct 20 08:52 purge.sh
-rw-r--r--. 1 anirban anirban   47838 Oct 21 08:05 code.java
-rw-rw-r--. 1 anirban anirban 9446406 Oct 24 05:51 cron
-rw-rw-r--. 1 anirban anirban  532570 Oct 24 05:57 my.txt
drwxrwsr-x. 2 anirban anirban      67 Oct 25 05:05 look_around.py
-rw-rw-r--. 1 anirban anirban   44525 Oct 26 17:23 failed.log
Run Code Online (Sandbox Code Playgroud)

因此无法使用任何后缀/前缀对文件进行分组,因为它们都是唯一的。现在,当我运行我正在寻找的命令时,我将根据按日期分组得到一组如下所示的行。

[ [hello.txt world.txt a] [b.csv] [go.xls purge.sh] [code.java] ... ] and so on.
Run Code Online (Sandbox Code Playgroud)

使用该列表,我将遍历并制作存档

tar -zvcf Oct_14.tar.gz hello.txt world.txt a
Run Code Online (Sandbox Code Playgroud)

Ipo*_*cer 2

while read date a b filename; do 
    zip -g ../$date.zip "$filename"
done <<< $(stat -c "%y %n" *)
Run Code Online (Sandbox Code Playgroud)