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

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

/dir1/files*.txt

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

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

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

1 ответ

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

Например, когда вы запускаете ls *.txtи у вас есть три TXT-файла в каталоге с именем a.txt, b.txt а также c.txt Баш расширяет его до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 Флаг может использоваться только при извлечении или перечислении содержимого уже существующего архива.

Другие вопросы по тегам