Ders 10.3: sed ve awk'ta düzenli ifadelerle veri temizlemek
sed'de yakalama grupları ve geri başvurular (\1, \2, &), tarihleri yeniden biçimlendirmek, GNU sed'in \u ve \U'su ile harf büyüklüğünü düzeltmek, awk'ta ~ ve !~ ile alanları eşleştirmek, gsub ile metni normalleştirmek, biçimi doğru ama anlamı yanlış değerleri bulmak ve hepsini temizlenmiş bir dosyada birleştirmek.
20 dk
Bu derste öğreneceklerin
- Eşleşmenin parçalarını yakalayıp \1, \2 ve & ile yeniden kullanmak
- Tarih gibi alanların sırasını sed -E ile değiştirmek
- Bir yer değiştirmede harf büyüklüğünü değiştirmek
- awk'ta bir alanı ~ ve !~ ile bir düzenli ifadeye karşı sınamak
- awk'ın gsub'ı ile bir alandaki her eşleşmeyi değiştirmek
- Bir veri dosyasının temizlenmiş kopyasını oluşturmak
Temel terimler
- Yakalama grubu
- Kalıptaki parantezler eşleştikleri şeyi hatırlar. Gruplar açılış parantezlerine göre soldan numaralanır.
- Geri başvuru \1 … \9
- sed'in s komutunun yerine konan kısmında \1 1. grubun, \2 2. grubun metnidir; ve böyle devam eder.
- &
- Yerine konan kısımda eşleşen metnin tamamı. Gerçek & için \& yaz.
- \u \l \U \L \E
- Yerine konan kısımda GNU sed uzantıları: sonraki karakteri ya da \E'ye kadar her şeyi büyük/küçük harfe çevirir.
- awk ~ ve !~
- alan ~ /ifade/ alan eşleşince doğrudur; !~ eşleşmeyince. Tek başına /ifade/ tüm satırı ($0) sınar.
- gsub ve sub
- awk işlevleri: gsub(ifade, yeni, hedef) her eşleşmeyi, sub yalnızca ilkini değiştirir. İkisi de yapılan değişiklik sayısını döndürür.
← Tekrarlar, gruplar ve seçenekler · Tüm dersler