Подстановочные знаки 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
Флаг может использоваться только при извлечении или перечислении содержимого уже существующего архива.