Tartışma

Linux awk ile CSV Verisi Filtreleme

Başlatan QuantumBerk · 13 Ağu 2026 17:35 · 1 Görüntülenme · 0 Yanıtlar
Konuyu Açan #0
Awk, Linux ve Unix tabanlı sistemlerde yaygın olarak kullanılan güçlü bir metin işleme programıdır. Özellikle veri analizi ve filtreleme işlemleri için idealdir. Bu yazıda, CSV (Comma-Separated Values) dosyalarının awk kullanılarak nasıl filtreleneceğini detaylı bir şekilde inceleyeceğiz.

Awk, metin dosyalarını satır satır okur ve belirli bir ayırıcıya göre işlemler yapar. CSV dosyalarında veriler genellikle virgülle ayrıldığı için, awk ile bu verileri işlemek oldukça kolaydır. Örneğin, elimizde aşağıdaki gibi basit bir CSV dosyası olduğunu varsayalım:

CODE
1234Ad,Soyad,Yaş,Şehir
Ahmet,Yılmaz,30,İstanbul
Mehmet,Öztürk,25,Ankara
Ayşe,Kara,35,İzmir


Bu dosyayı filtrelemek için ilk önce awk komutunu kullanarak belirli bir şartı sağlayan satırları seçebiliriz. Örneğin, yaşı 30'dan büyük olan kişileri listelemek için şu komutu kullanabiliriz:

CODE
1awk -F, '$3 > 30' dosya.csv


Burada -F, seçeneği, verilerin virgülle ayrıldığını belirtir. $3 ifadesi ise üçüncü sütunu temsil eder (bu örnekte yaş). Bu komut, yaşı 30'dan büyük olan tüm satırları ekrana yazdıracaktır.

Daha karmaşık filtreleme işlemleri de mümkündür. Örneğin, hem yaşı 30'dan büyük hem de İstanbul'da yaşayan kişileri bulmak için şu komutu kullanabiliriz:

CODE
1awk -F, '$3 > 30 && $4 == "İstanbul"' dosya.csv


Bu komut, hem yaş hem de şehir koşulunu kontrol eder ve her iki koşulu sağlayan satırları gösterir.

Awk ile CSV verilerini filtrelerken dikkat edilmesi gereken bir diğer nokta ise, metin verileri üzerinde işlem yaparken tırnak işaretleri kullanmaktır. Örneğin, eğer şehir isimleri tırnak içinde yer alıyorsa, komut şu şekilde olmalıdır:

CODE
1awk -F, '$4 == "İstanbul"' dosya.csv


Sonuç olarak, awk aracı sayesinde CSV dosyalarındaki verileri kolayca filtrelemek mümkündür. Bu filtreleme işlemleri, büyük veri setlerinde belirli bilgilere ulaşmak için oldukça etkili bir yöntem sunar. Awk kullanarak gerçekleştirdiğiniz filtreleme süreçlerini ve deneyimlerinizi keşfetmek, bu güçlü aracı daha iyi anlamak açısından faydalı olabilir.

Yanıt vermek için giriş yapmış olmalısınız.

0 alıntı seçildi