Autor del tema
#0
Linux ortamında veri işleme ve analiz etme yöntemlerinden biri olarak
Örneğin, bir metin dosyasında (örneğin
Bu dosyadan sadece isimleri ve şehirleri almak için şu
Burada
Eğer dosyanızda sütunlar farklı bir ayırıcı (örneğin, virgül) ile ayrılmışsa,
Bu durumda
Bu komut da benzer şekilde çalışarak isimleri ve şehirleri döndürecektir.
Sonuç olarak,
awk, oldukça güçlü bir araçtır. awk, metin dosyalarındaki verileri sütunlar halinde işlemek için tasarlanmış bir programlama dilidir. Bu yazıda, awk kullanarak dosyalardan kolon okuma işlemlerini detaylandıracağım.awk komutunun temel çalışma mantığı, girdiyi satır satır okuyup her satırı belirli bir ayırıcıya göre sütunlara ayırarak bu sütunlar üzerinde işlem yapmaktır. Varsayılan olarak, awk boşluk ve sekme karakterlerini ayırıcı olarak kabul eder, ancak bu ayırıcıyı değiştirmek de mümkündür.Örneğin, bir metin dosyasında (örneğin
data.txt) aşağıdaki gibi veriler olduğunu düşünelim:CODE
1234Ad Soyad Yaş Şehir
Ali Veli 30 İstanbul
Ayşe Yılmaz 25 İzmir
Mehmet Demir 35 AnkaraBu dosyadan sadece isimleri ve şehirleri almak için şu
awk komutunu kullanabiliriz:CODE
1awk '{print $1, $3}' data.txtBurada
$1 ilk sütunu (Ad), $3 ise üçüncü sütunu (Şehir) ifade eder. Çıktı şu şekilde olacaktır:CODE
1234Ad İstanbul
Ali Veli İstanbul
Ayşe Yılmaz İzmir
Mehmet Demir AnkaraEğer dosyanızda sütunlar farklı bir ayırıcı (örneğin, virgül) ile ayrılmışsa,
-F seçeneğiyle ayırıcıyı belirtebilirsiniz. Aşağıdaki örnekte, verilerin virgülle ayrıldığını varsayalım:CODE
123Ad,Soyad,Yaş,Şehir
Ali,Veli,30,İstanbul
Ayşe,Yılmaz,25,İzmirBu durumda
awk komutunu şu şekilde yazabiliriz:CODE
1awk -F',' '{print $1, $4}' data.csvBu komut da benzer şekilde çalışarak isimleri ve şehirleri döndürecektir.
Sonuç olarak,
awk ile kolon okuma işlemleri, veri analizi ve işleme süreçlerinde büyük kolaylık sağlar. Sütunları seçme, filtreleme ve formatlama işlemleri, awk sayesinde oldukça basit hale gelir. awk kullanarak veri işleme becerilerinizi geliştirmek, daha karmaşık analizler yapmanıza olanak tanıyacaktır.