Вы можете попробовать следующее:
while read zipfile files; do
zip ${zipfile}.zip $files
done <<< $(find -maxdepth 1 -type f | xargs stat -c "%y,%n" | awk -F, '{a[substr($1,1,10)]=a[substr($1,1,10)] " " $2} END{for(i in a){print i a[i]}}')
Цикл while
ожидает строки следующего формата:
zipfilename file1 file2 file3...
Это достигается
find -maxdepth 1 -type f
stat
awk
таким образом, чтобы все файлы, измененные в этот день, были перечислены в одной строке