Linux'ta Belirli Metin İçeren Dosyaları Bulun
Linux, kullandığınız dağıtımdan bağımsız olarak, dosya aramaya izin veren bir dizi GUI aracıyla birlikte gelir. Birçok modern dosya yöneticisi, dosya listesinde dosya aramayı destekler. Ancak, örneğin bir SSH oturumu sırasında veya X sunucusu başlamadığında konsolu kullanmanız gerektiğinde birkaç durum vardır. Terminali kullanarak belirli metinleri içeren dosyaları nasıl hızlı bir şekilde bulabileceğiniz aşağıda açıklanmıştır.
GUI'yi kullanabiliyorsanız, dosya aramak sorun değildir. Favori XFCE masaüstü ortamımda, Thunar dosya yöneticisi, dosya adını doğrudan dosya listesine yazarak dosyaları aramaya izin verir.
Ancak, denediğim dosya yöneticilerinin hiçbiri dosya içeriğini aramaya izin vermiyor.
Bir GUI oturumunda çalışırken bu sınırlamayı atlamak için Сatfish kullanabilirsiniz. Сatfish popüler bir arama aracıdır. Dosya içeriğinin aranmasını sağlar. Dişli simgesine tıklamanız ve seçeneği etkinleştirmeniz gerekir. Dosya İçeriğini Ara.
Ancak iş terminale geldiğinde herhangi bir grafik aracı kullanamazsınız. Ayrıca, Yayın Balığı'nı kullanışlı bulmuyorum ve bunun yerine klasik konsol araçlarını tercih ediyorum. İşte kullandığım yöntemler ve araçlar.
Linux'ta belirli metin içeren dosyaları bulmak için, aşağıdakileri yapın.
- Favori terminal uygulamanızı açın. XFCE4 terminali kişisel tercihimdir.
- Aşağıdaki komutu yazın:
find ./ -type f -exec grep -l "bulunacak metin" {} \;
- Bu, gerekli metin bölümünü içeren dosyaların listesini üretecektir.
Find komutu, geçerli dizinden başlayarak dosyaları arayacaktır, "./". Bunun yerine istediğiniz yolu belirtebilirsiniz.
Seçenek -f tipi sadece dosyaları aramasını ve dizinleri hariç tutmasını söyler. Ayrıca, aşağıdaki gibi seçeneği ekleyerek yalnızca belirli bir dosya türünü aramasını sağlayabilirsiniz:find ./ -type f -iname "*.txt" -exec grep -l "bulunacak metin" {} \;
Aşağıdaki ekran görüntüsüne bakın:
NS -exec seçeneği, içeriklerini kontrol etmek için eşleşen dosyaların her biri için grep aracını çağırır. Dosyada metin bulunursa, adı çıktıya eklenecektir. -l seçeneği.
alternatifler
Yukarıda açıklanan yöntemlere alternatifler vardır. Her şeyden önce, yalnızca grep alet. Aşağıdaki komutu deneyin:
grep -iRl "bulunacak metin" ./
- -i, metin durumunu yoksaymak anlamına gelir.
- -R, özyinelemeli dosya işleme anlamına gelir.
- -l "sonucun kendisini değil, dosya adını göster" anlamına gelir.
Gördüğünüz gibi, bu yöntem diğerinden daha az esnektir. bulmak emretmek.
Geceyarısı Komutanı
Sık kullandığım başka bir yöntem, konsol dosya yöneticisi uygulaması olan Midnight Commander (mc). Bul veya grep'ten farklı olarak, mc, denediğim tüm Linux dağıtımlarına varsayılan olarak dahil değildir. Kendiniz yüklemeniz gerekebilir.
Midnight Commander'ı kullanarak belirli bir metni içeren dosyaları bulmak için uygulamayı başlatın ve klavyede aşağıdaki sıraya basın:
alt + Vardiya + ?
Bu, arama iletişim kutusunu açacaktır.
"Dosya adı:" bölümünü doldurun. Metninizi yalnızca metin dosyalarında aramak için "*.txt" gibi bir şey belirtebilirsiniz.
Şimdi, doldurun İçerik: kutu. Dosyaların içerdiği metni yazın ve Enter tuşuna basın.
Kriterlere uyan tüm dosyaları bulacaktır.
Bu kadar.