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