Расширение ответ geekosaur :
find /directory | tar -cf archive.tar -T -
Вы можете использовать stdin с опцией -T
.
Обратите внимание, что если вы фильтруете файлы, используя какое-то условие (например, опция -name
), вам нужно исключить каталоги в конвейере, иначе tar обработает все их содержимое, а это не то, что вам нужно , Итак, используйте:
find /directory -type f -name "mypattern" | tar -cf archive.tar -T -
Если вы не используете -type
, будет добавлено все содержимое каталогов, соответствующих "mypattern"
!