подстановочные знаки tar в файлах - от

Попытка работать tar с --files-from. У меня есть файл files.txt, который содержит

/dir1/files*.txt

Однако это жалуется, что /dir1/files*.txt не существует, но ls доказывает, что это делает.

Я пытался также добавить --wildcards однако тот же результат.

Как я успешно архивирую подстановочные знаки при использовании --files-from не указывая файлы на командной строке?

1
задан 29 October 2014 в 02:19
1 ответ

Звездочки в команде раскрываются перед запуском команды оболочкой, такой как bash.

Например, при запуске ls * .txt , и у вас есть три файла txt в каталоге с именем a.txt , b.txt и c.txt bash расширяет его до ls a.txt b.txt c.txt

Я не верю, что GNU tar поддерживает такое поведение, однако вы можете использовать find и передать его в tar: find / dir1 -iname '* .txt' -printf '% P \ n' | tar --files-from = - -cvf textfiles.tar

Согласно странице руководства , флаг - wildcards может использоваться только при извлечении или перечислении содержимого уже существующий архив.

5
ответ дан 3 December 2019 в 17:06

Теги

Похожие вопросы