Mengelola Nama File di Linux: Mengganti Spasi dengan Underscore
Kadang saya dibuat pusing sama nama file di Linux yang penuh spasi. Misalnya pas lagi batch processing atau bikin script, file kayak my photo.jpg
atau vacation photo.jpg
bisa bikin error atau ribet. Solusinya? Ganti spasi dengan underscore (_
). Gini deh, ada dua cara yang biasanya kita pakai: rename
dan kombinasi mv
+ tr
.
1. Menggunakan rename
rename
itu powerful banget karena bisa pakai regular expression untuk batch rename. Contohnya:
find . -type f -name "* *.jpg" -exec rename "s/\s/_/g" {} \;
Penjelasannya singkat:
find .
→ cari file di direktori sekarang dan subfoldernya.-type f
→ cuma file, bukan folder.-name "* *.jpg"
→ file.jpg
yang ada spasinya.-exec rename "s/\s/_/g" {} \;
→ ganti semua spasi (\s
) jadi underscore (_
).
Misal ada my photo.jpg
dan vacation photo.jpg
, setelah dijalankan akan jadi my_photo.jpg
dan vacation_photo.jpg
.
2. Menggunakan mv
+ tr
Kalau rename
nggak tersedia, cara manual juga bisa pakai mv
dan tr
:
for file in *; do mv "$file" "$(echo $file | tr ' ' '_')"; done
for file in *
→ loop semua file di direktori.mv "$file" "$(echo $file | tr ' ' '_')"
→ rename file, ganti spasi jadi underscore.
Contohnya, example file.txt
dan another file.txt
akan otomatis jadi example_file.txt
dan another_file.txt
.
3. Kenapa Harus Ganti Spasi?
- Kompatibilitas → beberapa sistem atau script nggak suka spasi.
- Membaca lebih mudah → file dengan underscore sering lebih rapi.
- Mudah dipakai di script → nggak perlu pakai tanda kutip atau escape spasi.
Gini deh, kita pernah kebingungan tengah malam karena script backup nggak jalan gara-gara ada file budget 2022.xlsx
. Setelah semua spasi diganti underscore, semua lancar.
4. Kesimpulan
Pada akhirnya, merapikan nama file di Linux itu bikin hidup lebih mudah. Mau pakai rename
atau mv
+ tr
, pilih yang paling nyaman buat workflow kamu. Sekali dicoba, percaya deh, nge-batch rename file nggak lagi bikin headache.