Linux Dersleri 24. grep/egrep yazı işleme komutları

grep komutu linuxda bir dosyanın içinde veya herhangi bir komutumuzdaki çıktılarda istediğimiz kelimeleri ya da harfleri aramıza yarayan çok kullanışlı bir komuttur.

Ör : grep GNOME /var/log/syslog

/var/log/ altındaki syslog dosyasında GNOME kelimesi geçen satırları getirecektir.

Ör : grep faruk /etc/passwd

/etc klasörünün altındaki sistem kullanıcılarının yetki,şifre vb detaylarının saklandığı passwd dosyasındaki faruk kelimesi geçen satırları getirecektir.

Ör : grep -c error /var/log/syslog

Yukardaki örnekte /etc/log klasörünün altında syslog dosyasında kaç satırda error kelimesi geçtiğini bulabiliriz. -c opsiyonu bize aradığımız kelimenin kaç satırda geçtiğini verecektir.

Ör : grep -i HttPs /var/log/syslog

Yukardaki örnekte kullanılan -i parametresi büyük küçük harf duyarsız aratmamızı sağlar ve genel olarak grep komutunu bu şekilde kullanmamız aradığımız şeyi gözden kaçırmamamız için faydalıdır. Örneğin yukardaki komutu -i opsiyonu olmadan kullanacak olursak büyük ihtimal hiçbir şey bulamayacaktır.

Ör : grep -n error /var/log/syslog

Yukardaki örnekte bulunan satırlar satır numaralarıyla birlikte kullanıcıya verilir.

Ör : grep -v error /var/log/syslog

-v opsiyonu ile aradığımız kelime dışında kalan satırlar gösterilir.

İstersek pipela ( | ) grep’i başka komutlarla da birleştirebiliriz.

Ör : grep -vi erRoR /var/log/syslog | awk ‘{print $1}’

Yukardaki örnekte syslog dosyasında error geçmeyen satırları bulup bu satırların sadece ilk sütünlarını bize verecektir.

Ör : grep -vi erRoR /var/log/syslog | awk ‘{print $1}’ | cut -c1-3

Yukardaki örnekte bir önceki örnekte olduğu gibi syslog dosyasında error geçmeyen satırları bulup ilk sütunlarını aldıktan sonra cut ile ilk 3 harfini verecektir.


Ör : ls -l /home/faruk | grep -i belgeler

Yukardaki komutla kendi home klasörümde adı Belgeler olan satırı -i kullandığım için bulabilirim.

egrep kullanımı

egrep grep’in geliştirilmiş bir versiyonudur. grep ” + “, ” ? ” , ” | ” gibi karakterleri aranacak basit karakterler olarak görürken egrep bunları meta-karakter olarak görür. grepte bunları meta-karakter olarak kullanmak için başına ” \ ” karakteri koymamız gerekir. grep ” -E ” parametresiyle egrep olarak da kullanabiliriz.

ls -l /home/faruk | egrep -i “belgeler|müzik”

Yukardaki örnekte /home/faruk klasörünün altında belgeler veya müzik kelimeleri geçen satırları arayarak 2 tane satır verecektir. Aynı şeyi grep komutuyla yapmak istersek aşağıdaki gibi -E parametresini girmemiz gerekir.

ls -l /home/faruk | grep -Ei “belgeler|müzik”

veya sola yatık eğik çizgi ile özel karakteri kaçınmamız gerekir;

ls -l /home/faruk | grep -i “belgeler\|müzik”

Bu yazı İşletim sistemleri, Linux kategorisine gönderilmiş ve , , ile etiketlenmiş. Kalıcı bağlantıyı yer imlerinize ekleyin.

Bir yanıt yazın