Пытаюсь бежать tar
с участием --files-from
. У меня есть файл files.txt, содержащий
/dir1/files*.txt
Однако он жалуется, что /dir1/files*.txt не существует, но ls
доказывает, что это так.
Я пытался также добавить --wildcards
однако результат тот же.
Как мне успешно заархивировать подстановочные знаки при использовании --files-from
без указания файлов в командной строке?
Звездочки в команде раскрываются перед запуском команды оболочкой, такой как 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
Флаг может использоваться только при извлечении или перечислении содержимого уже существующего архива.