Komut satırında veri analizi
cut, sort, uniq, awk, jq ve csvkit ile CSV ve JSON verisini ağır bir program kurmadan süzer, sayar, birleştirir ve özetlersin.
Seviye 101 · 17 ders · 18 pratik lab
Dersler
Metin araçları
- Veriye ilk bakış: head, tail, wc
- Sütun ayırmak: cut ve ayraçlar
- Sıklık tablosu: sort ve uniq -c
- Satır süzmek: grep ve düzenli ifadeler
- Kısa görev: en çok istek yapan on IP
awk ile hesap
- awk ile alan seçmek ve toplamak
- awk dizileriyle gruplamak
- İki dosyayı birleştirmek: join ve paste
- Kısa görev: kullanıcı başına aktarılan bayt
Yapılı veri araçları
- csvkit ile CSV: csvcut, csvgrep, csvstat
- csvsql ile CSV üzerinde SQL
- jq ile JSON süzmek
- jq ile JSON’u CSV’ye dönüştürmek
- Miller (mlr) ile kayıt işleme
- Kısa görev: JSON alarm dosyasını özetle
Tekrarlanabilir analiz
- Boru hatlarını betiğe dönüştürmek
- Bitirme görevi: günlük oturum açma özetini üreten betik
Pratik lablar
- Bilinmeyen dosyaya ilk bakış: Kestrel Lojistik'ten gelen adı belirsiz bir dosyanın satır sayısını, ayırıcısını ve başlık satırını yalnızca head, tail ve wc ile bulup notes.txt dosyasına yaz.
- En çok hata veren uç noktalar: Bir API erişim kaydında 5xx dönen istekleri ayıklayıp cut, sort ve uniq -c ile en çok hata veren beş uç noktayı sırala.
- Boşluklu alanlar ve tek seferlik ziyaretçiler: Kullanıcı ajanı alanında boşluk bulunan bir kayıtta sütunları doğru bölüp yalnızca bir kez görünen IP adreslerinin sayısını bul.
- Belirli bir kullanıcının izini sür: Bir kimlik doğrulama kaydında verilen kullanıcının tüm başarısız girişlerini grep ile süzüp sayısını ve ilk zamanını bul.
- Düzenli ifadeyle iç ağ adreslerini ayır: grep -E ile 10.0.0.0/8 ve 192.168.0.0/16 aralığındaki kaynakları dışarıda bırakıp yalnızca dış IP'lerden gelen istekleri external.log dosyasına yaz.
- Sahte eşleşmeleri ayıklayan desen: Sürüm numaralarını da IP sanan basit bir deseni düzeltip yalnızca geçerli IPv4 adreslerini yakalayan bir grep komutu yaz.
- Sütun toplamı ve ortalaması: Pervane Havayolları'nın bagaj tartı kaydında awk ile toplam ağırlığı ve uçuş başına ortalamayı hesapla.
- awk dizisiyle saat başına istek: Bir web kaydının zaman damgasından saati çıkarıp awk dizisiyle saat başına istek sayısını sıralı bir tabloya dök.
- Eşik aşan kullanıcıları raporla: awk ile kullanıcı başına toplam indirilen baytı hesaplayıp ortalamanın üç katını aşanları MB cinsinden listele.
- İki listeyi ortak alanla birleştir: Personel listesi ile kart okuyucu kaydını sicil numarasıyla join ederek her girişin yanına çalışan adını yaz.
- Eşleşmeyen satırları bul: Varlık listesi ile tarama sonucunu karşılaştırıp taranmamış makineleri ve listede olmayan bilinmeyen makineleri iki ayrı dosyaya yaz.
- Sıralanmamış dosyalarda güvenli birleştirme: Sıralama ve yerel ayar yüzünden eksik sonuç veren bir join komutunu düzeltip doğru eşleşme sayısını kanıtla.
- csvstat ile hızlı profil: Selvi Belediyesi'nin başvuru dosyasında csvstat ile boş değer içeren sütunları ve en sık görülen başvuru türünü bul.
- jq ile alarmları özetle: Bir JSON alarm akışında jq ile önem derecesine göre sayım yapıp yalnızca kritik olanların kaynak ve hedeflerini CSV'ye çıkar.
- Miller ile tekrarlanabilir rapor betiği: mlr ve jq kullanan, girdi dosyasını argüman olarak alan ve günlük başarısız giriş özetini üreten bir kabuk betiği yaz.
- CSV üzerinde SQL ile sayım: csvsql ile Tessera Sigorta'nın hasar dosyasında şehir başına dosya sayısını ve ortalama tutarı tek sorguda çıkar.
- JSON'dan CSV'ye, CSV'den özete: jq ile JSON olayları CSV'ye çevirip aynı boru hattında csvkit ile kullanıcı başına olay özetini üret.
- Kırılgan boru hattını sağlamlaştır: Boş girdi ve eksik sütunda sessizce yanlış sonuç veren bir betiğe hata denetimi ve çıkış kodları ekleyip üç hata durumunu sına.
Kurs hakkında
cut, sort, uniq, awk, jq ve csvkit ile CSV ve JSON verisini ağır bir program kurmadan süzer, sayar, birleştirir ve özetlersin.
Ne öğreneceksin
- Metin araçları
- awk ile hesap
- Yapılı veri araçları
- Tekrarlanabilir analiz
Ön koşullar
Ön bilgi gerekmez; kurs sıfırdan başlar.
Lab ortamı
Dersler, tarayıcında açılan sana özel bir Kali Linux terminalinde geçer. Kurulum gerekmez; lab her derste temiz başlar.
Sık sorulan sorular
- Bu kurs benim düzeyime uygun mu?
- Kurs başlangıç düzeyindedir; her terim ilk geçtiği yerde açıklanır.
- Kurulum gerekir mi?
- Hayır. Her ders tarayıcında açılan sana özel bir lab ortamında geçer.
- Dersler nasıl işleniyor?
- Her ders 8 ile 10 adımdan ve bir kısa sınavdan oluşur. İlk adımlarda yazman gereken komut gösterilir, sonraki adımlarda yardım azalır; iki denemede takılırsan çözüm açılır.
- Ücretsiz deneyebilir miyim?
- Evet. Her kursun ilk üç dersi ücretsizdir.