Создайте пустой файл tar и сохраните его имя в переменной - PullRequest
0 голосов
/ 26 февраля 2020

Я пишу сценарий оболочки, в котором будет создан tar-файл с сегодняшней датой и временем.

tar -zvcf "log_grabber$(date '+%y-%m-%d_%H%M').tar.gz" --files-from /dev/null

Теперь, чтобы добавить больше файлов к этим tar-файлам после выполнения команды find. Как я могу получить имя файла tar и использовать его в выводе команды find?

find . -type f -name 'local*' -newermt "$user_date" -exec tar -rvf <variable tar file> {} \;

Любая помощь будет очень полезна.

1 Ответ

1 голос
/ 26 февраля 2020

Вместо

tar -zvcf "log_grabber$(date '+%y-%m-%d_%H%M').tar.gz" --files-from /dev/null

Сначала создайте переменную с именем и используйте ее:

name="log_grabber$(date '+%y-%m-%d_%H%M').tar.gz"    
tar -zvcf "$name" --files-from /dev/null

А затем:

find . -type f -name 'local*' -newermt "$user_date" -exec tar -rvf "$name" {} +

Обратите внимание, что я изменил \; до +, чтобы tar получал несколько файлов за один вызов, а не один вызов tar на файл.

...