Sederhana saja. Saya tidak tahan ketika orang menggunakan spasi saat menamai file. Kadang-kadang merusak perintah konsol dan membuat output ls jelek.
Tantangannya adalah menulis sebuah program (hanya karakter ascii) yang
- mengganti nama semua file (termasuk direktori) di direktori saat ini ke versi dengan spasi dihapus atau diganti dengan '_'
- pada tabrakan, Anda perlu menambahkan pengidentifikasi unik (terserah Anda)
- turun secara rekursif ke semua subdirektori
Anda dapat mengasumsikan nama jalur bergaya UNIX. Lagi pula, siapa yang butuh program ini di mesin Windows?
Ini adalah kode golf, program terpendek menang (karakter #ascii). Karena saya sangat membenci ruang, setiap ruang harus dihitung dua kali.
Harap berikan bahasa, skor, program, dan deskripsi singkat tentang cara menjalankannya.
Program harus mengkompilasi dan mengeksekusi dengan upaya yang wajar pada mesin linux saya.
EDIT: Saat Etan meminta struktur file untuk pengujian, berikut ini skrip yang saya gunakan saat ini untuk membuat pohon file yang sesuai:
#!/bin/bash
rm -r TestDir
touchfiles()
{
touch my_file
touch my__file
touch "my file"
touch "my file"
touch " my_file "
}
mkdir TestDir
cd TestDir
touchfiles
for dir in "Test Sub" Test_Sub "Te stSub" Te_stSub
do
mkdir "$dir"
cd "$dir"
touchfiles
cd ..
done