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
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:
- Harry Potter ve Sırlar Odası
- Sikişmenin Tamingi
- Fare ve Erkeklerin
- Bir Otostopçunun Galaksi Rehberi
- Harry Potter ve Zümrüdüanka Yoldaşlığı
Ayrıca, aşağıdaki başlıklar altında film adında bir dosya olduğunu hayal edin
- Matris
- Harry Potter ve Sırlar Odası
- Harry Potter ve Ateş Kadehi
- Yıldız Savaşları - Yeni Bir Umut
Ş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.