Sıkıştırılmış bir dosyanın içeriğini çıkarmadan mı okudunuz?


153

Bir arşivdeki belirli bir dosyanın içeriğini, içerdiği .zip dosyasını çıkarmadan nasıl okuyabilirim? Linux komut satırını kullanıyorum.

Daha önceki bir soru , arşivin dizinini görüntüleme hakkında sorular sorar. Ancak benim için arşivdeki dosyaların sadece bir listesini görmek yeterli değil, arşivdeki bir dosyanın içeriğini görmem gerekiyor.



@ fixer1234 (ve diğerleri): Bağlantılı soru “Bir ZIP arşivindeki dosyaları nasıl görebilirim?” diye soruyor. AFAIC, “Bir dosyanın içeriğini nasıl görebilirim?” ile aynı sorudur. bu soruyu cevaplayan insanlar , “arşivin dizinini nasıl görebilirim?” olarak yorumladılar. Ancak, Gilles'in cevabı (doğal olarak) ve Rajasekhar Tolety'nin bu sorunun cevabı (görünüşe göre) bu sorunun cevabını veriyor.
Scott

1
@Scott, belki de iki sorunun nasıl birleştirileceğini bulmalıyız, böylece her iki konu da bir arada ele alınmalı ya da diğerinin dizinle ilgili olması için net bir şekilde yeniden odaklanmalı ve ardından soruları eşleştirmek için her iki yer arasında da yanıtlar taşınmalıdır. Şu anda, ikisi de karmakarışık.
fixer1234

@ fixer1234: Bir noktaya kadar katılıyorum. Moderatörler bize her zaman kopyaların iyi bir şey olduğunu söylerler, çünkü arama motorlarına daha fazla maruz kalma yüzeyi sağlarlar (yani, bir aramanın sorulardan birini bulma şansı daha fazladır). Ama ovalama var: eğer bir kullanıcı sorulardan birini bulursa ve bağlantı açık değilse (ve hiç kimse “Bağlı” ve “İlgili” listelerine bakmaz - en azından arama sonuçlarının rasgele takipçileri değil), o zaman kullanıcı cevapların sadece bir kısmını buldu. DavidPostill bu soruyu yeniden açmak için son oyu kullandı; belki onunla konuşmalısın.
Scott

@Scott - Soru soran kişinin “arşivin dizinini nasıl görebilirim?” Şeklinde işaretlendiğine göre, cevabın kabul edildiği gibi olduğunu düşünüyorum. Maalesef, herhangi bir yorum anlamına gelebilecek şekilde belirsiz biçimde ifade edilmiştir.
M. Justin,

Yanıtlar:


198

unzip -l archive.zip Dosyanızın içeride olduğundan emin olmak için ZIP arşivinin içeriğini listeler.

-cArşivin tamamını açmak zorunda kalmadan, adlandırılmış dosyaların içeriğini stdout'a (ekran) yazmak için bu seçeneği kullanın .

unzip -c archive.zip file1.txt file2.txt | less

Bu tür bir işlem için çıktıyı her zaman yönlendiririm less, aksi takdirde okuyabilmeniz için dosyanın tamamı ekranda yukarı çıkar.

BTW zcat, .gz dosyalarının içeriğini ilk kez açmadan görüntülemek için mükemmeldir.


8
En azından Ubuntu'da, bunu varsayılan olarak yapmak için bir şekilde daha az konfigüre edilmiş - yani less archive.zipaslında dosyaların listesini gösterir.
aviv

1
bz2 dosyalarının içeriğini ilk kez açmak zorunda kalmadan görüntülemek için bzcat ...
Justin E

3
unzip -c ayrıca dosya adını ve bazı ekstra mesajları gösterir (onları stdout'a gönderir). -P yerine sadece dosyayı ikili biçimde gönderir. Bu borular için daha faydalıdır
Juan Calero

Senin ile $LESSOPENlesspipe için set sadece olabilir less foo.gzsıkıştırılmış içeriğini görüntülemek için. (@aviv Bu sağlayan aynı şeydir less foo.zipboruya unzip -l foo.zipkendi içine).
Peter Cordes

unzip -c archive.zip '*' | lessaradığımı yapar: zip arşivinin içeriğini kedi.
Peter Cordes

4

zipinfokullanabileceğiniz başka bir araçtır, unzipizin verilmeyen kilitli bir sistemde iseniz bu faydalıdır .


4

Sadece görmek için arıyorsanız görüntüleri arşivlerin içinde kullanabileceğiniz Comix veya daha yeni MComix görüntüleri içini görmek için .zip, .rar, .cbr, ve .cbzayıklanması olmadan dosyaları.


2

EmacsKomut satırından başlayın ve zip dosyalarınızı Zip-Archivemode ile açın . Herhangi bir Emacs / elisp tuning (yeni kullanıcılar genellikle korkuyor) olmadan, şunlar gibi dosya ayrıntılarını göreceksiniz zipinfo: modlar, uzunluk, tarih, zaman

Ardından, dosyaları arabelleklerde açabilecek ve hatta standart kısayollarla değişikliklerinizi arşive geri kaydedebileceksiniz:

  • Açmak için listeye bir dosya adı girin
  • İle düzenle ve kaydet Ctrl-x Ctrl-s
  • Tamponu öldür Ctrl-kve arşiv tamponuna geri dön

Ne zaman içinde Zip-Archivetampon kullanmak Ctrl-h mYardım View mevcut tüm kısayolları alır.

Umarım bu Emacs'in harika özelliklerini keşfetmenize neden olabilir



0

Bunu less archive.zipyapmanın en kolay yolu buldum .


2
daha az archive.zip, sıkıştırılmış bir dosyanın içeriğini göstermez, yalnızca sıkıştırılmış bir arşivin içeriğini gösterir .
karel

Açıklama için teşekkürler, @ karel
RobertMyles

Bence gerçekten yapmaya çalıştığın şey, Danielcraigie'nin cevabıyla aynı olur.
karel

-1

Dosya zip arşivine eklenmişse, yalnızca bu dosyayı arşivden çıkarmanız gerekir (arşiv türüne bağlı olabilir, bazı arşivler dosyaları ayrı ayrı çıkaramaz)


Evet, ama tam bir çağrı cihazına stdout ve boru çıkartabilirsiniz.
Peter Cordes,

Bu teknik bir cevap değil, bir politikacı ya da avukattan daha muhtemel. Lütfen daha spesifik ol! (örneğin komutunu gösterin)
Hola Soy Edu Feliz Navidad
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.