GNU/Linux >> Belajar Linux >  >> Ubuntu

Cara Mengganti Spasi di Nama File dengan Garis Bawah di Shell Linux

Saat bekerja dengan Linux, Anda mungkin menemukan beberapa utilitas dan aplikasi yang hanya berfungsi dengan nama file yang tidak menyertakan spasi. Kami tidak selalu menyimpan file dalam format "tanpa spasi" ini dan mungkin harus mencari solusi yang mengganti spasi dalam nama file dengan karakter garis bawah '_'. Dengan cara ini, nama file Anda tidak akan berisi spasi dan Anda dapat dengan mudah menggunakannya di semua aplikasi.

Dalam artikel ini, kami akan menjelaskan dua cara bagi Anda untuk mengonversi semua spasi dalam nama file menjadi garis bawah, dengan sangat sederhana melalui baris perintah.

Kami telah menjalankan perintah dan prosedur yang disebutkan dalam artikel ini pada sistem Ubuntu 18.04 LTS.

Folder Unduhan Saya, yang akan saya gunakan sebagai contoh untuk artikel ini, berisi spasi di semua nama file.

$ ls Downloads

Saya akan menggunakan folder ini untuk menjelaskan bagaimana saya mengonversi nama file ke format baru.

Metode 1:Melalui satu perintah mv

Dalam metode ini, kita akan menggunakan perintah Ubuntu mv dalam loop for untuk mengganti nama semua file/folder dalam direktori tertentu sehingga semua spasi pada namanya diganti dengan karakter garis bawah.

Buka baris perintah Ubuntu Anda, Terminal, baik melalui pencarian Peluncur Aplikasi atau pintasan Ctrl+Alt+T.

Berikut adalah sintaks dari perintah yang akan Anda gunakan:

$ for file in *; do mv "$file" `echo $file | tr ' ' '_'` ; done

Saya menjalankan perintah yang sama untuk mengganti spasi dengan garis bawah di folder Unduhan saya:

Ketika saya membuat daftar isi direktori lagi, Anda dapat melihat bahwa semua nama file sekarang berisi garis bawah, bukan spasi.

Metode 2:Menggunakan skrip untuk mengganti nama file

Dalam metode ini, kita akan menggunakan skrip bash yang menggunakan perintah mv untuk mengganti nama file dan folder sedemikian rupa sehingga semua spasi diganti dengan garis bawah.

Buka aplikasi Terminal dan pindahkan ke folder bin sebagai berikut:

$ cd ~bin

Sekarang, buka file skrip baru di salah satu editor teks favorit Anda. Kami akan menggunakan editor nano untuk membuka file skrip kosong dengan nama replace_spaces.sh

$ sudo nano replace_spaces.sh

Di file kosong itu, tambahkan skrip berikut:

#!/bin/bash

for f in *
do
  new="${f// /_}"
  if [ "$new" != "$f" ]
  then
    if [ -e "$new" ]
    then
      echo not renaming \""$f"\" because \""$new"\" already exists
    else
      echo moving "$f" to "$new"
    mv "$f" "$new"
  fi
fi
done

Kiat: Alih-alih mengetik seluruh skrip ke dalam file bash Anda, Anda dapat menyalinnya dari sini dan menempelkannya di Terminal dengan menggunakan Ctrl+Shift+V, atau dengan menggunakan opsi Tempel dari menu klik kanan.

Ini adalah bagaimana file Anda akan terlihat seperti:

Sekarang, keluar dari file melalui pintasan Ctrl + X dan simpan file di "Simpan buffer yang dimodifikasi?" prompt dengan mengetik Y lalu menekan Enter.

Untuk membuat file ini menjadi skrip yang dapat dieksekusi, jalankan perintah berikut di Terminal Anda:

$ sudo chmod +x replace_spaces.sh

Sekarang Anda siap menggunakan skrip di folder mana pun.

Ketika saya menjalankan skrip di folder Unduhan sampel saya, saya melihat semua spasi di nama file saya dikonversi menjadi garis bawah sebagai berikut:

Jadi, ini adalah dua cara di mana Anda dapat mengganti nama file sehingga semua spasi dalam namanya diubah menjadi garis bawah. Sekarang aplikasi apa pun yang Anda gunakan tidak akan gagal mengenali nama file yang mengandung spasi.


Ubuntu
  1. Dasar-dasar Linux:Cara Mengunduh File di Shell Dengan Wget

  2. Bagaimana cara mengganti file di jar dengan baris perintah di linux?

  3. Bagaimana cara mengganti nama file dengan spasi menggunakan shell Linux?

  1. Cara menggunakan perintah ekor di Ubuntu Linux

  2. Bagaimana mengelola Layanan Linux dengan perintah systemctl

  3. Cara Mengubah Shell Default Di Linux

  1. Cara Menggunakan Perintah su di Linux dengan Contoh

  2. Cara mengubah shell default di Linux

  3. Bagaimana cara menulis file dengan C di Linux?