Uzantısına Göre Dosya Bulmak

sudo find /usr/ -type f -name "*.mo" | grep /tr/

Üstteki komut /usr/ dizini altında, uzantısı .mo olan ve dosya yolunda /tr/ dizgesini içeren sonuçları dönüyor.

sudo: yönetici izinlerini sağlar
find: komutumuz
/usr/: aramak istediğimiz dizin
-type -f: aramak istediğimizin bir dosya olduğunu söylüyor
-name: arama işleminin ad alanında yapılacağını söylüyor
“*.mo”: adı ne olursa olsun uzantısı .mo ise dosyaları listele
| : pipe yani boru işlemi, bir işlemi diğerine bağlamaya yarıyor
grep: sonuçlar içinde süzme işlemi yapıyor
/tr/: burada süzmek istediğimiz metni belirtiyoruz.

Dosya Uzantısına Bakarak İçinde Değer Aramak

find ./ -type f -name "*.vala" -exec grep -l "_(\"" {} \; | sort

Bu sefer, konuyu ChatGPT açıklasın istedim. İşte sonuç:

Bu Linux komutu, belirli bir klasör ve alt klasörlerinde bulunan `.vala` uzantılı dosyaları arar, bu dosyalarda belirli bir metni içeren dosyaları listeleyen ve sonuçları alfabetik olarak sıralayan bir komuttur. İşte komutun ayrıntılı açıklaması:

1. `find ./`: Bu komut, geçerli dizin (şu anki çalışma dizini) ve altındaki tüm dosyaları ve klasörleri tarar. `./`, geçerli dizini ifade eder.

2. `-type f`: Bu, `find` komutunun yalnızca dosyaları aramasını ve klasörleri görmezden gelmesini sağlar. Yani, yalnızca dosyaları dikkate alır.

3. `-name “*.vala”`: Bu, yalnızca `.vala` uzantısına sahip dosyaları aramasını belirtir. `*.vala` deseni, `.vala` uzantısına sahip tüm dosyaları eşleştirir.

4. `-exec grep -l “_(\”” {} \;`: Bu, her eşleşen dosya için `grep` komutunu çağırır. `grep -l “_(\””` ifadesi, herhangi bir `.vala` dosyasında `”_(\””` metnini içeren dosyaları bulur. `{}` işareti, her eşleşen dosya adını temsil eder ve `\;` komutun sonlandığını belirtir.

5. `|`: Bu, bir komutun çıktısını diğerine bağlar. Yani, `find` komutunun çıktısı `grep` komutunun girdisi olur.

6. `sort`: Bu, `grep` komutunun çıktısını alfabetik olarak sıralar. Yani, sonuçları dosya adlarına göre sıralar.

Sonuç olarak, bu komut, `.vala` uzantısına sahip dosyalar arasında `”_(\””` metnini içeren dosyaları bulur ve bu dosyaları alfabetik olarak sıralar.

İçinde Arama Terimi Geçmeyen Dosyaları Bulmak

find ./ -type f -name "*appdata*" -exec grep -L 'content_rating type' {} +

Dosya adında appdata geçen dosyaların içinde content_rating type değerini içermeyen dosyaları, yollarıyla birlikte listeler.

Son örneğimizde ise aynı işlemi gizli dosyaları hariç tutarak yapalım.

find ./ -type f -name "*appdata*" -not -path '*/.*' -exec grep -L 'content_rating type' {} +

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir