tar.gz arşivinde bir dosya bul


12

findKomutu, tar.gz arşivindeki dosyaları joker karakterler kullanarak da arayacak şekilde kullanmak mümkün müdür ?

sevmek

find archive.tar.gz --name *foo*

Yanıtlar:


17

Peki ya:

$ tar tf archive.tar.gz | grep foo

sadece tüm dosyaları listelemiyor mu?
kelepçe

@clamp Evet, her dosyaya bir şeyler yapmak istiyorsanız, çıktıyı başka bir komuta yönlendirmeniz yeterlidir.

Teşekkürler! üzgünüm ama unix bir acemi im. denedim: tar tf graphics.tar.gz | find . --name *space*ama diyorunkown predicate --name
kelepçe

@clamp findargümanları yalnızca bir tire alır, ancak stdin'deki dosyaların bir listesi olduğundan, grepbunun yerine hesse'nin örnek kodu gibi kullanmak istersiniz. Deneyintar tf graphics.tar.gz | grep 'space'
Kevin

1
grep *foo*geçerli bir normal ifade değil. gregglobları anlamıyor, düzenli ifadeleri anlıyor. grep fooBunun yerine deneyin .
Alexios


2

Ben boru ve grep olmadan çalışır düşünüyorum.

bunun gibi: tar tvf archive.tar.gz "foo"

bu şekilde globlar da çalışacaktır.

tar tvf archive.tar.gz "*.foo"

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.