Latihan 1 dari materi Text Processing: awk & sed di Terminal — praktek dengan editor kode interaktif, test case otomatis, dan hint terpandu. Langsung jalan di browser.
Tiru cara kerja awk, grep dan sed di JavaScript. Array logs (4 baris log) dan empat console.log di bawahnya sudah ada di kode awal, biarkan saja. extractColumn juga sudah jadi: dia meniru awk '{print $N}', dengan kolom mulai dari 1. Lengkapi dua function lainnya:
filterAndExtract(lines, keyword, columnIndex): ambil dulu baris yang memuat keyword, lalu ambil kolom ke-columnIndex dari baris-baris itu, dan kembalikan array-nya. Setara grep ERROR app.log | awk '{print $3}'. Boleh memakai extractColumn.
replaceAll(lines, search, replacement): kembalikan array baris baru, dengan setiap kemunculan search di tiap baris diganti replacement. Setara sed 's/search/replacement/g'.
Console harus mencetak persis ini, baris demi baris (baris pertama sudah benar dari extractColumn):
["ERROR","INFO","ERROR","WARN"]
["user.service","db.service"]
REDACTED ERROR user.service Connection failed
REDACTED ERROR db.service Timeout
Yang juga dicek: replaceAll(["a-b", "c-d"], "-", "+") menghasilkan a+b dan c+d. Jadi pakai parameter yang dikirim, bukan teks dari contoh.