Grafik arayüzlü programların kullanımının daha uygun olduğu bilinmektedir, çünkü yüksek gereksinimler için tasarlanmışlardır, ayrıca terminal belirli görevleri çok daha hızlı çözmenize izin verir. Yani bir wc yardımcı programı var, bir dosyadaki satır sayısını sayabilir. Satır sayısı fazla bir şey söylemez, ancak birkaç komutun birleştirilmesi durumunda, gerekli parametreleri dikkate alarak satırları sayabilirsiniz. Bir Linux dosyasındaki satırlar nasıl sayılır? Şimdi grep, sed ve awk komutlarını kullanmanın birkaç basit ama etkili örneğini vurgulayalım.
WC komutuna daha önce bakmıştık, şimdi de anahtar parametrelerinden biri olan -l
'ye aşina olmalıyız. Yeni bir satıra geçişleri sayar, yani boş satırlar da dahil olmak üzere tüm satır sayılır. Komut bu görevle diğerlerinden daha hızlı başa çıkar, ancak yalnızca belirli dizeler mümkündür - belirli bir koşulla.
$ wc -l name_file
$ grep -c $ name_file
$ sed -n $= name_file
$ awk 'END{ print NR }' name_file
Gördüğümüz gibi, sonuç aynıdır, ancak wc komutunun görevi tamamlaması daha az zaman almıştır. Diğer komutlar karmaşık sorgular için geçerlidir. grep komutu sadece metin içeren dizeleri bulmanızı sağlar: grep -c 'text' file_name
.
$ grep -c 'text' file_name
grep komutu düzenli ifadeleri işler, böylece birden fazla AND, OR, NOT koşulunu birleştirebilirsiniz.
sed metin işleme gerçekleştirdiğinde, ancak wc komutu ile son satır sayımı yapmak çok daha kolaydır. Üç karakterden daha kısa olan tüm satırları silebilirsiniz. ve karmaşık durumlar yorumsuz olarak sayılır.
$ sed -r '/^.{,3}$/d' file_name | wc -l
Eğer görev basitse, başka yollarla da yapılabilir. awk komutu daha basit ve anlaşılması daha kolay olacaktır.
$ awk 'length >3' file_name | wc -l
Awk komutunun görsel bir örneği için csv tablo dosyasında gerekli değeri ararken string sayma işlemini gerçekleştirelim.
Örnekte, ikinci parametrenin değeri 50'den fazla olan satırların sayısını sayalım.
$ awk '$2+0 > 50' file_name | wc -l
Sayısal olmayan tüm ifadeleri kaldırmak için ifadeye 0 ekleyin.