kzen.dev
  • Frågor
  • Taggar
  • Användare
Meddelanden
Belöningar
Registrering
När du har registrerat dig kommer du att få information om svar och kommentarer på dina frågor.
Logga in
Om du redan har ett konto loggar du in för att kontrollera nya meddelanden.
Det kommer att finnas belöningar för frågor, svar och kommentarer.
Mer
Källa
Redigera
 tkbx
tkbx
Question

Zipa alla filer i katalogen?

Finns det ett sätt att komprimera alla filer i en viss katalog med kommandot zip? Jag har hört talas om att använda *.*, men jag vill att det ska fungera även för filer utan tillägg.

487 2012-11-28T16:43:54+00:00 3
Gilles  'SO- stop being evil
Gilles 'SO- stop being evil
Redigerad fråga 2012ör november 2012 в 11:40
Unix och Linux
command-line
zip
wildcards
Popular videos
Linux Tutorial for Beginners: Introduction to Linux Operating System
Linux Tutorial for Beginners: Introduction to Linux Operating System
för 6 år sedan
Överför filer till ett USB minne, minneskort eller hårddisk
Överför filer till ett USB minne, minneskort eller hårddisk
för 6 år sedan
Skapa en mapp och flytta filer och mappar i utforskaren
Skapa en mapp och flytta filer och mappar i utforskaren
för 7 år sedan
Datorns grundfunktioner: hantera filer och mappar
Datorns grundfunktioner: hantera filer och mappar
för 4 år sedan
Letv Leeco Le Pro 3 AI X650 Stock ROM Firmware EUI 5.9.27S Install via Fastboot
Letv Leeco Le Pro 3 AI X650 Stock ROM Firmware EUI 5.9.27S Install via Fastboot
för 5 år sedan
How to upload large sql files using phpMyAdmin upload directory on Windows
How to upload large sql files using phpMyAdmin upload directory on Windows
för 3 år sedan
BTT SKR2 -FluiddPi and Klipper Firmware Install
BTT SKR2 -FluiddPi and Klipper Firmware Install
för 1 år sedan
Backup of the robot program
Backup of the robot program
för 2 år sedan
Unzip Multiple Files in One Click - Windows 10
Unzip Multiple Files in One Click - Windows 10
för 4 år sedan
How to Open ZIP Files on Windows 10
How to Open ZIP Files on Windows 10
för 3 år sedan
How to zip all directories inside a directory in one step in Linux
How to zip all directories inside a directory in one step in Linux
för 2 år sedan
Att Zippa Filer
Att Zippa Filer
för 4 år sedan
Packa upp zip-filer i en Linux-terminal
Packa upp zip-filer i en Linux-terminal
för 7 år sedan
Hur du krypterar filer och mappar med 7-Zip
Hur du krypterar filer och mappar med 7-Zip
för 7 år sedan
Så här öppnar du en ZIP-fil
Så här öppnar du en ZIP-fil
för 13 år sedan
Skapa en Zip-mapp
Skapa en Zip-mapp
för 9 år sedan
How to disable ALL updates in Mozilla Firefox and the annoying pop-up about this
How to disable ALL updates in Mozilla Firefox and the annoying pop-up about this
för 1 år sedan
Celerra CRU: NS Series Control Station Replacement
Celerra CRU: NS Series Control Station Replacement
för 4 år sedan
Linux på svenska  - 6 - ta bort filer och mappar
Linux på svenska - 6 - ta bort filer och mappar
för 7 år sedan
Hämta filer
Hämta filer
för 4 år sedan
How to ZIP a File in Windows 10 [Tutorial]
How to ZIP a File in Windows 10 [Tutorial]
för 7 år sedan
Recursively zip all files in a directory into individual zip files... but in a separate directory
Recursively zip all files in a directory into individual zip files... but in a separate directory
för 2 år sedan
Woodward easygen-3000XT training Part 2: Installing localization software tool
Woodward easygen-3000XT training Part 2: Installing localization software tool
för 3 år sedan
How To Play PS1 Games On PS4 Jailbreak 7.02 Or Lower
How To Play PS1 Games On PS4 Jailbreak 7.02 Or Lower
för 2 år sedan
SyncToy tutorial (på svenska)
SyncToy tutorial (på svenska)
för 7 år sedan
How completely block ALL updates Google Chrome on Windows.
How completely block ALL updates Google Chrome on Windows.
för 1 år sedan
KRCDiag Tutorial
KRCDiag Tutorial
för 2 år sedan
« Föregående
Nästa »
Den här frågan har 1 svar på engelska, för att läsa dem logga in på ditt konto.
Solution / Answer
 derobert
derobert
2012ör november 2012 в 4:49
2012-11-28T16:49:12+00:00
Mer
Källa
Redigera
#14639844

Du kan bara använda *; det finns inget behov av *.*. Filtillägg är inte speciella på Unix. * matchar noll eller flera tecken - inklusive en punkt. Det matchar alltså foo.png, eftersom det är noll eller fler tecken (sju, för att vara exakt).

Observera att * som standard inte matchar filer som börjar med en punkt (inte heller *.*). Detta är ofta vad du vill ha. Om inte, i bash, om du shopt -s dotglob gör det (men utesluter fortfarande . och ..). Andra skal har andra sätt (eller inget alls) att inkludera dotfiles.

Alternativt har zip också ett -r (rekursivt) alternativ för att göra hela katalogträd på en gång (och inte behöva oroa sig för dotfileproblemet):

zip -r myfiles.zip mydir

där mydir är den katalog som innehåller dina filer. Observera att den producerade zip-filen kommer att innehålla både katalogstrukturen och filerna. Som peterph påpekar i sin kommentar ses detta vanligtvis som en bra sak: genom att extrahera zip-filen kommer alla extraherade filer att lagras snyggt i en underkatalog.

Du kan också be zip att inte lagra sökvägarna med alternativet -j/--junk-paths.

Kommandot zip kommer med dokumentation som berättar om alla dess (många) alternativ; skriv man zip för att se den dokumentationen. Detta är inte unikt för zip; du kan få dokumentation för de flesta kommandon på detta sätt.

Abel  Melquiades Callejo
Abel Melquiades Callejo
Redigerat svar 2017ör januari 2017 в 3:02
712
0
Artificial intelligence to parse product page
productapi.dev
Radon Rosborough
Radon Rosborough
2017ör januari 2017 в 4:32
2017-01-17T16:32:16+00:00
Mer
Källa
Redigera
#14639848

I mitt fall ville jag packa varje fil till ett eget arkiv, så jag gjorde följande (i zsh):

$ for file in *; do zip ${file%.*}.zip $file; done
Radon Rosborough
Radon Rosborough
Redigerat svar 2017ör januari 2017 в 4:19
11
0
Artificial intelligence to parse product page
productapi.dev
Gert  van den Berg
Gert van den Berg
2012ör november 2012 в 8:28
2012-11-29T08:28:04+00:00
Mer
Källa
Redigera
#14639847

Ett annat sätt är att använda find och xargs: (detta kan inkludera en "."-katalog i zip-filen, men den bör ändå extraheras korrekt. I mitt test tog zip bort pricken före komprimering) find . -type f -exec zip zipfile.zip {} +

(+ kan ersättas med \; om din version av find inte har stöd för + i slutet för exec. Det kommer dock att vara långsammare...)

Detta kommer som standard att inkludera alla underkataloger. På GNU find kan -maxdepth förhindra detta.

Gert  van den Berg
Gert van den Berg
Redigerat svar 2012ör november 2012 в 9:07
6
0
Lägg till en fråga
Kategorier
Alla
Teknik
Kultur / fritid
Livet / Konst
Vetenskap
Professionell
Företag
Användare
Alla
Ny
Populära
1
Inessa bu
Registrerad för 1 månad sedan
2
Denis Babushkin
Registrerad för 1 månad sedan
3
asakuno asakuno
Registrerad för 1 månad sedan
4
aldo salerno
Registrerad för 1 månad sedan
5
Анна Батицкая
Registrerad för 1 månad sedan
Artificial intelligence to parse product page
productapi.dev
DE
EL
ES
FR
ID
IT
JA
LV
NL
NO
PT
RO
RU
SK
SL
SV
TR
ZH
© kzen.dev 2023
Källa
unix.stackexchange.com
under licens cc by-sa 3.0 med angivande av