У меня есть процесс, который создает файл tar с копиями файлов, которые должны быть обновлены.

Я хочу сделать резервную копию существующих файлов перед перезаписью новыми файлами.

я пробовал

tar cf backup.tar -T `tar tf updated.tar`

Который не работал. Если я перенаправлю вывод из tar tf в файл, используйте его в качестве параметра -T:

tar tf updated.tar > list; tar cf backup.tar -T list

Но мне кажется, что я должен быть в состоянии выполнить это в одной команде. Является ли это возможным?

3 ответа3

3

Укажите stdin в качестве входного файла, например:

tar tf updated.tar | tar cf backup.tar -T -

1

Опция -T специально ищет файл, а не список. Ваша первая попытка передает список в -T, возможно, поэтому он не работает. Я хотел бы попробовать что-то вроде:

tar tf updated.tar | xargs tar cf backup.tar
-1

Я использую этот командир:

tar cf backup.tar `tar tf updated.tar`

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .