Как извлечь файлы, которые соответствуют более чем двум шаблонам?

Как извлечь файлы, которые соответствуют более чем двум шаблонам?

22.01.2020 02:02:04 Просмотров 26 Источник

Предположим, у меня есть мой архив.смола

  myarchive.tgz/file1.txt
               /folder1/node1.txt
               /folder2/node2.txt 
               /folder3/file3.txt
               /dir/node3.txt
               /file2.txt

Как извлечь файлы, соответствующие двум шаблонам, т. е. "folder"и "node". Так что я получу node1.txt и node2.формат txt Я пробовал подстановочные знаки, но я знаю только, как выполнить его с одним шаблоном. то tar --wildcards -zvf myarchive.tgz -x "*folder*" или tar --wildcards -zvf myarchive.tgz -x "*node*" но это дает только половину ответа. Есть ли способ получить полный ответ, написав один сценарий?

У вопроса есть решение - Посмотреть?

Ответы - Как извлечь файлы, которые соответствуют более чем двум шаблонам? / How to extract files which match more than two pattern?

Является ответом!
KamilCuk

22.01.2020 02:12:59

Просто объедините глобуляции вместе:

tar --wildcards -xvf myarchive.tgz '*folder*node*'
tar --wildcards -xvf myarchive.tgz './folder[0-9]*/node[0-9]*.txt'
https://stackoverflow.com/questions/59858223/how-to-extract-files-which-match-more-than-two-pattern/59858403#comment105848622_59858403
Вам действительно нужен флаг--wildcardsзнаки ?
https://stackoverflow.com/questions/59858223/how-to-extract-files-which-match-more-than-two-pattern/59858403#comment105848663_59858403
Без него tar говорит tar: Pattern matching characters used in file namestar: Use --wildcards to enable pattern matching, or --no-wildcards to suppress this warning. Интересно, что означает это "дефолт" в человеке, похожеno-wildcardsзнаки-это дефолт. GNU tar 1.29 на repl
https://stackoverflow.com/questions/59858223/how-to-extract-files-which-match-more-than-two-pattern/59858403#comment105848798_59858403
ошибка? У меня есть 1.26 и там он работает без.
https://stackoverflow.com/questions/59858223/how-to-extract-files-which-match-more-than-two-pattern/59858403#comment105849132_59858403
tar 1.29 на tutorialspoint работает. 1.29 на repl не работает. 1.31 на моем archlinux не работает. 1.29 на моем opensuse не работает. Магия. Я тестирую с простой tar -cvf a.tar /dev/null ; tar -xvf a.tar '*null*' ; rm a.tar. Therefore, starting from version 1.15.91, GNU tar no longer uses globbing by default. :)
Закрыть X