348 zip dosyam var ve zip dosyalarından birinde olan, unzip -ljoker kartlarla çalışmayan bir dosyayı bulmak istiyorum.
Tüm .zipdosyaların içeriğini grepve fermuarlarda bulunan tüm dosyaların birleştirilmiş listesini nasıl listeleyebilirim?
348 zip dosyam var ve zip dosyalarından birinde olan, unzip -ljoker kartlarla çalışmayan bir dosyayı bulmak istiyorum.
Tüm .zipdosyaların içeriğini grepve fermuarlarda bulunan tüm dosyaların birleştirilmiş listesini nasıl listeleyebilirim?
Yanıtlar:
Burada kullanmak zipinfoiyi bir çözümdür. Ancak, genel olarak bir dosya listesine komut uygulamak istediğinizde ve komut bir dosya listesini kabul etmediğinde, bir fordöngü kullanabilirsiniz :
for file in *.zip; do
unzip -l "$file"
done \
| grep "\.zip\|setup"
Eğer aradığınız dosyanın içinde boşluklar varsa: your filegrep normal ifadesinde, her boşluktan bir ters eğik çizgi ile çıkmanız gerekir grep "\.zip\|your\ file".
unzip, ne kadar utanç verici olduğunu unuttum .
findyerine.
Kullanabilirsiniz zipinfo. Varsayılan Ubuntu kurulumuna dahil edilmiştir. Kontrol kılavuz sayfasını daha fazla bilgi için.
Örneğin, setupgeçerli dizindeki bir sürü zip dosyasındaki bir deseni aramak için bu komutu kullanın:
find ./ -iname *zip 2> /dev/null -print0 | xargs -0 zipinfo | grep setup
caution: filename not matched: case1.zip... caution: filename not matched: case348.zipiki Ubuntu işletim, 11.10 ve 12.04 üzerinde test her zip için.
setupve bu şekilde zipinfo -l * | grep "setup"
Dosyaları bir zip arşivinde listelemek için aşağıdaki komutu kullanabilirsiniz.
unzip -l
Sıkıştırılmış bir arşivi greplemek için, bu tür arşiv biçimiyle çalışmak üzere oluşturulmuş sıkıştırılmış arşiv yardımcı programlarını kullanmalısınız.
Zip arşivleri için:
zipgrep --help
usage: zipgrep [egrep_options] pattern zipfile [members...]
Uses unzip and egrep to search the zip members for a string or pattern.
Katran arşivleri için:
zgrep --help
Usage: /bin/zgrep [OPTION]... [-e] PATTERN [FILE]...
Look for instances of PATTERN in the input FILEs, using their
uncompressed contents if they are compressed.
OPTIONs are the same as for 'grep'.
Arşivlerle çalışan başka birkaç araç var. Aynı şeyi yapmak için boruyu grep içine sokabilirsiniz.
zcat
zcat my.archive.zip | grep "some text"
Veya bu araçların arama işlevini kullanabilirsiniz
zless
zmore