How can I extract about 900 7z files which are all located in the same folder (all have only one file inside) without doing it one by one?
I am using Ubuntu 10.10. All files are located in /home/username/folder1/folder2
.
How can I extract about 900 7z files which are all located in the same folder (all have only one file inside) without doing it one by one?
I am using Ubuntu 10.10. All files are located in /home/username/folder1/folder2
.
7za -y x "*.7z"
The above code worked for me
\*.7z
–
Footless -y
switch). If you have multiple files in those zips, you may want to unpack each zip into a separate subfolder. See Franck Dernoncourt's answer for that. –
Inherited Using parallel is rather convenient way with total progress meter for free ;)
ls *.7z | parallel -j+0 --eta '7z x {} >/dev/null'
7z x "*.7z"
this worked for me in ubuntu
-y
flag (confirm all). Has Ubuntu had a package supplying the 7z
command? –
Footless p7zip
, which is an old downstream fork of 7zip for Linux, and 7zip
, which is the official upstream version now that they have official Linux support. If you install p7zip
, the command is 7z
. If you use the official 7zip
, the command is 7zz
. –
Sauder for f in *.7z
do
7zr e "$f" &
done
This will extract all .7z
files if they're 7z format to the current directory, without waiting for completion.
Your computer could be owned. You have been warned!
If you wish to extract multiple 7zip archives to folders with the same names in Linux, you can use:
for archive in *.7z; do 7z x -o"`basename \"$archive\" .7z`" "$archive"; done
For example, if you have two 7zip archives a.7z
and b.7z
, it will create two folders a
and b
, and uncompress a.7z
into folder a
and b.7z
into folder b
.
The above command comes from this answer on superuser by user Vojtech.
You do not need to overcomplicate things. To extract a 7-Zip archive split to multiply parts use the following command:
7z x archive.7zip.0
7-Zip will notice you that you have a multi-volume archive and it unpacks everything.
7z x archive.7zip.00*
and it put back together the two .001 and .002 files. –
Sendal Probably the simplest approach is below
ls | xargs -n1 7z x
in adition to using a for loop
you can also use find in combination with the exec argument or xargs
Another example with -aos parameter.
# ls Environment-voice-20180629-20180705-20230706024500.zip Environment-voice-20180729-20180802-20230706050000.zip | xargs -n1 7za x -aos '-xr!/http*'
7-Zip (a) [64] 16.02 : Copyright (c) 1999-2016 Igor Pavlov : 2016-05-21
p7zip Version 16.02 (locale=C.UTF-8,Utf16=on,HugeFiles=on,64 bits,16 CPUs Intel(R) Xeon(R) Platinum 8272CL CPU @ 2.60GHz (50657),ASM,AES-NI)
Scanning the drive for archives:
1 file, 2928050140 bytes (2793 MiB)
Extracting archive: Environment-voice-20180629-20180705-20230706024500.zip
--
Path = Environment-voice-20180629-20180705-20230706024500.zip
Type = zip
Physical Size = 2928050140
64-bit = +
Everything is Ok
Files: 631108
Size: 2664870996
Compressed: 2928050140
7-Zip (a) [64] 16.02 : Copyright (c) 1999-2016 Igor Pavlov : 2016-05-21
p7zip Version 16.02 (locale=C.UTF-8,Utf16=on,HugeFiles=on,64 bits,16 CPUs Intel(R) Xeon(R) Platinum 8272CL CPU @ 2.60GHz (50657),ASM,AES-NI)
Scanning the drive for archives:
1 file, 2387436055 bytes (2277 MiB)
Extracting archive: Environment-voice-20180729-20180802-20230706050000.zip
--
Path = Environment-voice-20180729-20180802-20230706050000.zip
Type = zip
Physical Size = 2387436055
64-bit = +
Everything is Ok
Files: 505001
Size: 2177832150
Compressed: 2387436055
The simplest way is unzip '*.zip'
.
Make sure you have the '
marks.
© 2022 - 2024 — McMap. All rights reserved.