Перемещение только старых файлов в другой каталог - PullRequest
0 голосов
/ 02 мая 2018

У меня есть / files dir с большим количеством файлов. Я хочу переместить их в / архив dir. Процесс перемещения занимает несколько минут, так как файлов огромное количество.

Во время процесса перемещения я создал новый файл с именем new-file.jpg в / files dir. Будет ли new-file.jpg перемещен в / archive dir или нет?

Мне нужно, чтобы все / старые файлы (файлы существовали, когда я запустил zip-процесс) в / archived dir. Как этого добиться?

1 Ответ

0 голосов
/ 02 мая 2018

Если вы используете шаблон glob, как в tar cf old.tar.gz /files/*.dat, то этот шаблон glob будет разрешен bash до фактического вызова команды. Таким образом, команда tar будет называться tar cf old.tar.gz /files/1.dat /files/2.dat ..., что означает, что файлы, созданные во время выполнения tar, не будут включены.

Это можно визуализировать:

files=(/files/*.dat)
touch /files/new.dat
printf '%s\n' ${files[@]} | grep -P '^/files/new.dat$'
...