Я хотел бы знать то, что команда должна использовать для gunzip все файлы в целевом каталоге рекурсивно? Я пытался использовать разархивировать команду, но она не работала.
Я попробовал команду от, Разархивировали все zip-файлы в целевой папке?
Используя команды ниже. Замена <path_of_your_zips>
с путем к Вашим zip-файлам и <out>
с Вашей папкой назначения:
Для файлов GZ
find <path_of_your_zips> -type f -name "*.gz" -exec tar xf {} -C <out> \;
или
find <path_of_your_zips> -type f -name "*.gz" -print0 | xargs -0 -I{} tar xf {} -C <out>
Для zip-файлов
find <path_of_your_zips> -type f -name "*.zip" -exec unzip {} -d <out> \;
или
find <path_of_your_zips> -type f -name "*.zip" -print0 | xargs -0 -I{} unzip {} -d <out>
gunzip
имеет -r
опция. От man gunzip
:
-r --recursive
Travel the directory structure recursively. If any of the
file names specified on the command line are directories, gzip
will descend into the directory and compress all the files it finds
there (or decompress them in the case of gunzip ).
Так, если Вы хотите к gunzip
все сжатые файлы (gunzip
может в настоящее время распаковывать файлы, созданные gzip, zip, сжатием, сжимать-H или пакет) в каталоге /foo/bar
и всех его подкаталогах:
gunzip -r /foo/bar
Это обработает имена файлов с пробелами также.