Мені хотілося б знати, яку команду потрібно використовувати для рецидивування всіх файлів у цільовому каталозі? Я спробував використати команду unzip, але це не вийшло.
Я спробував команду з Розпакувати всі поштові файли в цільовій папці?
Мені хотілося б знати, яку команду потрібно використовувати для рецидивування всіх файлів у цільовому каталозі? Я спробував використати команду unzip, але це не вийшло.
Я спробував команду з Розпакувати всі поштові файли в цільовій папці?
Відповіді:
Використовуючи команди нижче. Замініть <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>
-exec
подобається find . -type f -name "*.gz" -exec tar xzf {} -C <out> \;
?
tar: This does not look like a tar archive
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 або pack) всередині каталогу /foo/bar
та всіх його підкаталогів:
gunzip -r /foo/bar
Це також буде обробляти імена файлів з пробілами.