2021-03-19, 05:46
  #1
Medlem
TordesPungs avatar
Jag är nybörjare på Linux och har drygt 700 zip filer som jag vill packa upp igenom ett kommando, hur gör jag?

Tack på förhand.
Citera
2021-03-19, 06:03
  #2
Medlem
Citat:
Ursprungligen postat av TordesPung
Jag är nybörjare på Linux och har drygt 700 zip filer som jag vill packa upp igenom ett kommando, hur gör jag?

Tack på förhand.

https://i.imgur.com/DRldoUR.png
Citera
2021-03-19, 06:12
  #3
Medlem
unzip "*.zip"

Funkar det? Sitter på mobilen så kan inte prova.

Edit: hm, första svaret i Macatho's länk säger att det ska vara: unzip \*.zip

Fan vet jag, nått av dem funkar i alla fall.
__________________
Senast redigerad av Allo-SCT 2021-03-19 kl. 06:16.
Citera
2021-03-19, 06:47
  #4
Medlem
TordesPungs avatar
Citat:
Ursprungligen postat av Allo-SCT
unzip "*.zip"

Funkar det? Sitter på mobilen så kan inte prova.

Edit: hm, första svaret i Macatho's länk säger att det ska vara: unzip \*.zip

Fan vet jag, nått av dem funkar i alla fall.

Tack, ska prova.

CD .... mapp mapp mapp

unzip \*.zip

Fungerade!

Eftersom jag är nybörjare och ändå skapat en tråd så passa jag på att fråga.
Hade jag kunnat sätta ihop dom två kommandoraderna CD ...... / Unzip ....

Tack!
__________________
Senast redigerad av TordesPung 2021-03-19 kl. 06:57.
Citera
2021-03-19, 07:57
  #5
Medlem
SittFints avatar
Citat:
Ursprungligen postat av TordesPung
Tack, ska prova.

CD .... mapp mapp mapp

unzip \*.zip

Fungerade!

Eftersom jag är nybörjare och ändå skapat en tråd så passa jag på att fråga.
Hade jag kunnat sätta ihop dom två kommandoraderna CD ...... / Unzip ....

Tack!
&& el. ;
Citera
2021-03-19, 10:19
  #6
Medlem
TordesPungs avatar
Citat:
Ursprungligen postat av SittFint
&& el. ;

Förstår inte vad du menar men det går bra att skriva kommandona direkt efter varandra.
Citera
2021-03-20, 11:25
  #7
Medlem
S Nubbens avatar
Är det extremt många filer i en katalog så kan kommandoraden bli för lång när *.zip expanderas. Använd xargs för att gå runt detta:

Kod:
find /katalog/med/zipfiler -name "*.zip" -print0 | xargs -0 unzip
Citera
2021-03-20, 13:08
  #8
Moderator
vhes avatar
Citat:
Ursprungligen postat av S Nubben
Är det extremt många filer i en katalog så kan kommandoraden bli för lång när *.zip expanderas. Använd xargs för att gå runt detta:

Kod:
find /katalog/med/zipfiler -name "*.zip" -print0 | xargs -0 unzip

...vilket väl var varför inlägg #3 såg till att escapea asterisken så att zip självt, snarare än skalet, gjorde expanderingen.

Kod:
ARGUMENTS
       file[.zip]
              Path  of the ZIP archive(s).  If the file specification is a wildcard, each matching
              file is processed in an order determined by the operating system (or  file  system).
              Only  the  filename can be a wildcard; the path itself cannot.  Wildcard expressions
              are similar to those supported in commonly used Unix shells (sh, ksh, csh)  and  may
              contain:

              *      matches a sequence of 0 or more characters

              ?      matches exactly 1 character

              [...]  matches  any single character found inside the brackets; ranges are specified
                     by a beginning character, a hyphen, and an ending character.  If an  exclama‐
                     tion  point  or a caret (`!' or `^') follows the left bracket, then the range
                     of characters within the brackets is complemented (that is,  anything  except
                     the characters inside the brackets is considered a match).  To specify a ver‐
                     batim left bracket, the three-character sequence ``[[]'' has to be used.

Rätt ovanlig funktionalitet, men unzip verkar ha den. En funktion påtvingad av avsaknaden av shell expansion i Windows, antar jag.
Citera
2021-03-20, 23:19
  #9
Medlem
TordesPungs avatar
Citat:
Ursprungligen postat av S Nubben
Är det extremt många filer i en katalog så kan kommandoraden bli för lång när *.zip expanderas. Använd xargs för att gå runt detta:

Kod:
find /katalog/med/zipfiler -name "*.zip" -print0 | xargs -0 unzip

Citat:
Ursprungligen postat av vhe
...vilket väl var varför inlägg #3 såg till att escapea asterisken så att zip självt, snarare än skalet, gjorde expanderingen.

Kod:
ARGUMENTS
       file[.zip]
              Path  of the ZIP archive(s).  If the file specification is a wildcard, each matching
              file is processed in an order determined by the operating system (or  file  system).
              Only  the  filename can be a wildcard; the path itself cannot.  Wildcard expressions
              are similar to those supported in commonly used Unix shells (sh, ksh, csh)  and  may
              contain:

              *      matches a sequence of 0 or more characters

              ?      matches exactly 1 character

              [...]  matches  any single character found inside the brackets; ranges are specified
                     by a beginning character, a hyphen, and an ending character.  If an  exclama‐
                     tion  point  or a caret (`!' or `^') follows the left bracket, then the range
                     of characters within the brackets is complemented (that is,  anything  except
                     the characters inside the brackets is considered a match).  To specify a ver‐
                     batim left bracket, the three-character sequence ``[[]'' has to be used.

Rätt ovanlig funktionalitet, men unzip verkar ha den. En funktion påtvingad av avsaknaden av shell expansion i Windows, antar jag.

Vad duktiga ni är det här måste jag bli bättre på.
Citera
2021-03-22, 08:50
  #10
Medlem
S Nubbens avatar
Citat:
Ursprungligen postat av vhe
...vilket väl var varför inlägg #3 såg till att escapea asterisken så att zip självt, snarare än skalet, gjorde expanderingen.

Rätt ovanlig funktionalitet, men unzip verkar ha den. En funktion påtvingad av avsaknaden av shell expansion i Windows, antar jag.

Ja, att unzip själv kunde hantera wildcards kände jag inte till. Men i vilket fall som helst är find i kombination med xargs en bra grej att ha i verktygslådan när man har med extremt många filer att göra.
Citera
2021-03-22, 10:52
  #11
Medlem
Citat:
Ursprungligen postat av TordesPung
Jag är nybörjare på Linux och har drygt 700 zip filer som jag vill packa upp igenom ett kommando, hur gör jag?

Tack på förhand.

Absolut snabbaste som användar alla dina CPUs:

parallel unzip ::: *.zip

Du måste dock installera gnu parallel.
Citera
2021-03-22, 23:49
  #12
Medlem
Citat:
Ursprungligen postat av TordesPung
Hade jag kunnat sätta ihop dom två kommandoraderna CD ...... / Unzip ....

Man kan alltid köra flera kommandon med && eller ;.
Kör du t.ex.

Kod:
cd hemligheter && unzip tantsnusk.zip

Så kommer först cd hemligheter att köras och ifall det lyckades (d.v.s. mappen hemligheter finns) så kommer den köra unzip tantsnusk.zip.

Man kan även köra flera kommandon sepparerat med ;, t.ex.

Kod:
mkdir filmer; unzip filmer/tantsnusk.zip

Då kommer den köra mkdir filmer och därefter unzip filmer/tantsnusk.zip helt oavsett om det första kommandot lyckades eller ej.
Citera

Skapa ett konto eller logga in för att kommentera

Du måste vara medlem för att kunna kommentera

Skapa ett konto

Det är enkelt att registrera ett nytt konto

Bli medlem

Logga in

Har du redan ett konto? Logga in här

Logga in