Bash komut satırında, kullandığımda unzip -l test.zip
şöyle bir çıktı alıyorum:
Archive: test.zip
Length Date Time Name
--------- ---------- ----- ----
810000 05-07-2014 15:09 file1.txt
810000 05-07-2014 15:09 file2.txt
810000 05-07-2014 15:09 file3.txt
--------- -------
2430000 3 files
Ancak yalnızca dosya ayrıntılarını içeren satırlarla ilgileniyorum.
Bu şekilde grep kullanarak filtreleme yapmaya çalıştım:
unzip -l test.zip | grep -v Length | grep -v "\-\-\-\-" | g -v Archive | grep -v " files"
Ancak uzun ve hataya açık (örneğin, bir dosya adı Arşivi bu listede bırakılacak)
Unzip -l olan bir seçenek var mı (unzip man sayfasını kontrol ettim ve bulamadım) ya da bunu yapmak için başka bir araç var mı?
Arşivi gerçekten açmak değil, sadece içinde hangi dosyaların olduğuna bakmak benim için önemlidir.
Evet, kesinlikle aynı fikirdeyim, bu yüzden tam olarak bu soruyu soruyorum: daha iyi ve uygulanabilir bir çözüm için.
—
рüффп
grep
bir Awk betiğine yeniden yerleştirilebileceğini, genellikle çok daha hassas bir şekilde olabileceğini belirtmek isterim .awk 'NR >3 { if (/^ *---/) exit 0; print }'
ilk üç satırı, altbilgiyi olduğu gibi kırpabilir ve aynı zamanda sadece dosya adını kolayca çıkararak ulaşılabilir (ipucu:)print substr($0, 29)
.