Latihan 1 dari materi Globbing & Brace Expansion di Terminal — praktek dengan editor kode interaktif, test case otomatis, dan hint terpandu. Langsung jalan di browser.
Simulasikan batch rename menggunakan brace + glob.
1. expandBrace(template)
Expand pola brace sederhana. Dukung:
"file.{js,ts}" → ["file.js", "file.ts"]"img-{1..3}.png" → ["img-1.png", "img-2.png", "img-3.png"]"img-{01..03}.png" → ["img-01.png", "img-02.png", "img-03.png"]"plain.txt" → ["plain.txt"]Asumsi: hanya satu brace per template.
2. matchGlob(pattern, filename)
Return true jika filename cocok dengan glob pattern. Dukung * (nol atau lebih karakter), ? (tepat satu). Tidak perlu dukung character class.
3. batchRename(files, fromPattern, toTemplate)
Gabungkan: untuk tiap file di array files yang cocok dengan fromPattern, generate nama target dari toTemplate (urutan sesuai index). Return array { from, to }.
Contoh: files=["a.txt","b.txt","readme.md"], fromPattern="*.txt", toTemplate="backup-{01..99}.txt" → dua entri pertama di-rename.