Linux kullanarak sıkıştırılmış dosyaları aramak nasıl

Bu kılavuz, bir metin dizesi veya belirli bir ifade için sıkıştırılmış dosyaları nasıl arayacağınızı gösterecektir.

Grep Komutu Kullanarak Sonuçları Arama ve Filtreleme

En güçlü Linux komutlarından biri, "Küresel Düzenli İfadeler Baskı" anlamına gelen grep'tir.

Bir dosyanın içeriğinde veya başka bir komuttan çıkışta kalıp aramak için grep kullanabilirsiniz.

Örnek olarak, aşağıdaki ps komutunu çalıştırırsanız, bilgisayarınızda çalışan işlemlerin bir listesini görürsünüz.

ps -ef

Sonuçlar ekrana hızlıca kaydırır ve genellikle çok sayıda sonuç varsa. Bu, bilgileri özellikle acı verici bir şekilde görüntülemeyi sağlar.

Elbette sonuçların bir sayfasını aşağıdaki gibi sıralamak için daha fazla komut kullanabilirsiniz:

ps -ef | Daha

Yukarıdaki komuttan elde edilen çıktının bir öncekinden daha iyi olmasına rağmen, aradığınız şeyi bulmak için sonuçların arasında hala sayfalara yer vermeniz gerekir.

Grep komutu, sonuçları, ona gönderdiğiniz ölçütlere göre filtrelemeyi mümkün kılar. Örneğin, 'root' olarak ayarlanmış UID ile tüm süreçleri aramak için aşağıdaki komutu çalıştırın:

ps -ef | grep kökü

Grep komutu ayrıca dosyalar üzerinde çalışır. Kitap başlıklarının bir listesini içeren bir dosyanız olduğunu düşünün. Dosyanın "Kırmızı Başlıklı Kız" içerip içermediğini görmek istediğinizi düşünün. Dosyayı aşağıdaki gibi arayabilirsiniz:

grep "Kırmızı Başlıklı Kız" kitap listesi

Grep komutu çok güçlü ve bu makale onunla birlikte kullanılabilecek kullanışlı anahtarların çoğunu gösterecek.

Zgrep Komutu Kullanarak Sıkıştırılmış Dosyaları Arama

Az bilinen ama çok güçlü bir araç zgrep. Zgrep komutu, önce içeriği çıkarmadan sıkıştırılmış bir dosyanın içeriğini aramanızı sağlar.

Zgrep komutu, zip dosyalarına veya gzip komutunu kullanarak sıkıştırılmış dosyalara karşı kullanılabilir.

Fark ne?

Bir zip dosyası birden fazla dosya içerebilirken, gzip komutunu kullanarak sıkıştırılmış bir dosya yalnızca orijinal dosyayı içerir.

Gzip ile sıkıştırılmış bir dosya içinde metin aramak için aşağıdaki komutu girebilirsiniz:

zgrep ifade filetosearch

Örneğin, kitap listesinin gzip kullanılarak sıkıştırılmış olduğunu hayal edin. Aşağıdaki komutu kullanarak sıkıştırılmış dosyadaki "küçük kırmızı başlıklı" metnini arayabilirsiniz:

zgrep "Kırmızı Başlıklı Kız" bookslist.gz

Herhangi bir ifadeyi ve mevcut tüm ayarları grep komutuyla zgrep komutunun bir parçası olarak kullanabilirsiniz.

Sıkıştırılmış dosyaları zipgrep komutunu kullanarak arama

Zgrep komutu, gzip kullanılarak sıkıştırılmış dosyalar ile iyi çalışır ancak sıkıştırılmış dosyaları kullanarak sıkıştırılmış dosyalar üzerinde çok iyi çalışmaz.

Zip dosyası tek bir dosya içeriyorsa zgrep'i kullanabilirsiniz, ancak çoğu zip dosyası birden fazla dosya içerir.

Zipgrep komutu, bir zip dosyasındaki kalıpları aramak için kullanılır.

Örnek olarak, aşağıdaki başlıklara sahip kitaplar adlı bir dosyanız olduğunu hayal edin:

Ayrıca, aşağıdaki başlıklar altında film adında bir dosya olduğunu hayal edin

Şimdi bu iki dosyanın zip formatı kullanılarak media.zip adlı bir dosyaya sıkıştırıldığını hayal edin.

Zip dosyasındaki tüm dosyalar içindeki kalıpları bulmak için zipgrep komutunu kullanabilirsiniz. Örneğin:

zipgrep desen dosya adı

Örneğin, "Harry Potter" ın tüm olaylarını bulmak istediğinizi hayal edin, aşağıdaki komutu kullanacaksınız:

zipgrep "Harry Potter" media.zip

Çıkış aşağıdaki gibi olacaktır:

kitaplar: Harry Potter ve Sırlar Odası

kitapları: Harry Potter ve Zümrüdüanka Yoldaşlığı

filmleri: Harry Potter ve Sırlar Odası

film: Harry Potter ve Ateş Kadehi

Grep ile kullanabileceğiniz zipgrep ile herhangi bir ifadeyi kullanabildiğiniz için, bu araç çok güçlü hale gelir ve zip dosyalarını açma, arama ve daha sonra tekrar sıkıştırmadan çok daha basit bir şekilde arama yapar.

Eğer zip dosyasında sadece belirli dosyaları aramak istiyorsanız, aşağıdaki gibi komutun bir parçası olarak zip dosyasında aranacak dosyaları belirleyebilirsiniz:

zipgrep "Harry Potter" media.zip filmleri

Çıktı şu an şöyle olacak

filmleri: Harry Potter ve Sırlar Odası

film: Harry Potter ve Ateş Kadehi

Biri dışındaki tüm dosyaları aramak istiyorsanız, aşağıdaki komutu kullanabilirsiniz:

zipgrep "Harry Potter" media.zip -x kitapları

Bu, kitaplar haricinde media.zip içindeki tüm dosyaları ararken önceki sürümle aynı çıktıyı üretecektir.