Grep komutu, metin dosyalarındaki kalıpları bulmak için kullanılan güçlü bir dosya işleme aracı olan grep yardımcı programına erişim sağlar. Pek çok pratik kullanım durumu vardır ve kesinlikle en çok kullanılan Linux komutlarından biridir. Bu kılavuz, gerçek dünyada kullanımları olan bazı basit ama kullanışlı Linux grep komutlarını göstermektedir.
Gösteri için Örnek Dosya
Okuyucuların grep'i daha etkili bir şekilde anlamalarına yardımcı olmak için bir referans dosyası oluşturduk. Terminalinizde aşağıdaki kabuk komutunu vererek bu dosyanın bir kopyasını oluşturabilirsiniz.
uzun pil ömrüne sahip bluetooth kulaklık
cat <> test-file
This is a simple text file that contains
multiple strings as well as some telephone numbers
(555) 555-1234 (567) 666-2345
and email plus web addresses
john@doe.com
https://google.com
ftp://mywebserver.com
END
1. Dosyalarda Metin Bul
Bir dosyada metin deseni aramak için grep ve ardından desen adını çalıştırın. Ayrıca, metni içeren dosyanın adını belirtin.
grep 'email' test-file
Bu komut satırımızdaki satırı görüntüleyecektir. test dosyası kelimesini içeren e-posta . Aynı metni grep kullanarak birden fazla dosyada da arayabilirsiniz.
grep 'example' /usr/share/dict/american-english /usr/share/dict/british-english
Yukarıdaki komut, kelimenin tüm örneklerini görüntüler. örnek içinde Amerika İngilizcesi ve ingiliz ingilizcesi sözlük dosyaları.
2. Tam Eşleşen Kelimeleri Bulun
Önceki örnekte gösterilen Linux grep komutu, kısmi eşleşmeleri olan satırları da listeler. Bir kelimenin yalnızca tam olarak tekrarına ihtiyacınız varsa, aşağıda verilen komutu kullanın.
grep -w 'string' test-file
NS -içinde veya --word-regexp grep seçeneği, çıktıyı yalnızca tam eşleşmelerle sınırlar. Grep, varsayılan komutla da kullanılabilen bazı ek bayraklardan oluşur.
İlgili: Grep Adını Nasıl Aldı? Grep'in Yaratılışının Arkasındaki Tarih
3. Büyük/Küçük Harf Ayrımlarını Yoksay
Varsayılan olarak grep, kalıpları büyük/küçük harfe duyarlı bir şekilde arar. Ancak, kalıbın hangi durumda olduğunu önceden bilmiyorsanız, bunu kapatmak isteyebilirsiniz.
grep -i 'this' test-file
Kullan -ben veya --ignore-case büyük/küçük harf duyarlılığını kapatma seçeneği.
4. Model Sayısını Say
NS -C bayrak anlamına gelir saymak . Belirli bir model için bulunan eşleşmelerin sayısını görüntüler. Yöneticiler, sistemle ilgili belirli bilgileri almak için bunu kullanabilir.
boru yapabilirsin ps komutu Geçerli kullanıcıya ait işlemleri saymak için grep ile.
ps -ef | grep -c $USER
Aşağıdaki komut, sayısını görüntüler. MP3 bir dizinde bulunan dosyalar.
ls ~/Music | grep -c .mp3
5. Eşleşme İçeren Satır Numaralarını Görüntüle
Belirli bir eşleşme içeren satır numaralarını bulmak isteyebilirsiniz. Kullan -n veya --satır numarası Bunu başarmak için grep seçeneği.
cat /etc/passwd | grep -n rubaiat
Bu seçenek özellikle kaynak kodlarında hata ayıklama ve günlük dosyalarında sorun giderme için kullanışlıdır. Satırların tüm numaralarını görüntülemek için ~/.vimrc Vim metin düzenleyicisini yapılandırmak için kullanılanlar:
grep -n 'set' ~/.vimrc
6. Uzantıları Kullanarak Dosya Adlarını Bulun
Tüm listeyi almak için MP3 içinde bulunan dosyalar ~/Müzik dizin:
ls ~/Music/ | grep '.mp3'
değiştirebilirsiniz .mp3 belirli dosyaları bulmak için diğer uzantılarla. Aşağıdaki komut tüm php geçerli çalışma dizininde bulunan dosyalar.
bilgisayar sabit sürücüyü tanımıyor
ls | grep '.php'
7. Sıkıştırılmış Dosyalardaki Kalıpları Bulun
Linux grep komutu, sıkıştırılmış dosyaların içindeki kalıpları da bulabilir. kullanmanız gerekecek zgrep ancak bunu yapmak için komut. İlk olarak, sıkıştırılmış bir arşivimiz oluşturun. test dosyası yazarak:
gzip test-file
Artık, ortaya çıkan arşivde metin veya diğer desenleri arayabilirsiniz.
zgrep email test-file.gz
8. E-posta Adreslerini Bulun
Yöneticiler ayrıca Linux grep komutunu kullanarak metin dosyalarından e-posta adreslerini listeleyebilir. Aşağıdaki örnek, bunu bir normal ifade kalıbı arayarak yapar.
grep '^[a-zA-Z0-9]+@[a-zA-Z0-9]+.[a-z]{2,}' test-file
Benzer işleri yapmak için düzenli ifadeler bulabilir veya nasıl çalıştığını biliyorsanız bunları kendiniz oluşturabilirsiniz.
9. Grep Kullanarak Telefon Numaralarını Bulun
Bir metin dosyasından telefon numaralarını filtrelemek için normal grep ifadelerini kullanabilirsiniz. İhtiyacınız olan telefon numaralarının türüne uyması için desende ince ayar yapmanız gerektiğini unutmayın.
grep '(([0-9]{3})|[0-9]{3})[ -]?[0-9]{3}[ -]?[0-9]{4}' test-file
Yukarıda bahsedilen komut, on basamaklı Amerikan telefon numaralarını filtreler.
10. Kaynak Dosyalardan URL'leri Bulun
Metin dosyalarında bulunan URL'leri listelemek için grep'in gücünden yararlanabiliriz. Aşağıda verilen komut, içinde bulunan tüm URL'leri yazdırır. test dosyası .
grep -E '^(http|https|ftp):[/]{2}([a-zA-Z0-9-.]+.[a-zA-Z]{2,4})' test-file
yine kullanıyoruz -VE genişletilmiş düzenli ifadeler için seçenek. Ayrıca yumurta Bunu eklemekten kaçınmak için komut.
egrep '^(http|https|ftp):[/]{2}([a-zA-Z0-9-.]+.[a-zA-Z]{2,4})' test-file
Linux Grep Komutunda Ustalaşmak
Gerçek dünya sorunlarının üstesinden gelmek için Linux grep komutunun birkaç yararlı örneğini sunduk. Bu örnekler, metin işleme için grep'in gücünü gösterse de, grep ile süper üretken olmak istiyorsanız normal ifadelerde ustalaşmanız gerekir.
Bazen Linux kullanıcıları, bir komutla ilgili çeşitli seçenekleri hatırlayamadıkları belirli durumlarla karşılaşırlar. Umarım, Linux işletim sistemi size hemen hemen her sistem yardımcı programı için komut satırı yardımı almanın yollarını sağlar.
Paylaş Paylaş Cıvıldamak E-posta Linux'ta Komut Satırı Yardımı Almanın 7 YoluKomut satırından Linux komutlarını öğrenmek için gerekli tüm komutlar
Sonrakini Oku İlgili konular- Linux
- Linux
- Linux Komutları
Rubaiat, açık kaynak için güçlü bir tutkuya sahip bir CS mezunudur. Bir Unix ustası olmasının yanı sıra ağ güvenliği, kriptografi ve işlevsel programlama ile de ilgilenmektedir. Hevesli bir ikinci el kitap koleksiyoncusu ve klasik rock'a hiç bitmeyen bir hayranlığı var.
Rubaiat Hossain'dan Daha FazlaHaber bültenimize abone ol
Teknik ipuçları, incelemeler, ücretsiz e-kitaplar ve özel fırsatlar için bültenimize katılın!
devre dışı bırakılmış bir facebook hesabına mesaj gönderebilir misinAbone olmak için buraya tıklayın