GNU/Linux >> Belajar Linux >  >> Linux

Bagaimana cara mengganti nama file dengan spasi menggunakan shell Linux?

Melarikan diri dari ruang, mis. Spring\ 2011 , atau gunakan tanda kutip, mis. 'Spring 2011' . Di masa mendatang, biasanya merupakan ide yang buruk untuk menggunakan nama file dengan spasi di dalamnya pada *NIX apa pun.

Jika Anda memiliki rename , Anda dapat menggunakan ini:

rename ' ' '_' [filenames...]

Jika mesin Anda memiliki perintah rename, maka ini akan mengubah semua spasi menjadi garis bawah di semua file/direktori di direktori kerja saat ini:

rename 's/ /_/g' *

Jika Anda tidak memiliki rename atau lebih suka menggunakan shell saja:

for f in *\ *; do mv "$f" "${f// /_}"; done

Rusak:

  • *\ * memilih semua file dengan spasi di namanya sebagai input untuk for lingkaran. Pola *X* memilih semua file dengan X dalam namanya, dan untuk ruang karakter khusus, kita harus menghindarinya dengan garis miring agar bash tidak memperlakukannya sebagai pemisah argumen yang berbeda.
  • Kutipan di sekitar "$f" penting karena kita tahu ada spasi di nama file dan jika tidak maka akan muncul sebagai 2+ argumen untuk mv .
  • ${f//str/new_str} adalah fitur substitusi string khusus bash. Semua contoh str diganti dengan new_str .

Linux
  1. Cara mengenkripsi file dengan gocryptfs di Linux

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

  3. Cara Mengganti Nama Banyak File Bersama di Linux Menggunakan 3 Metode

  1. Cara Mengganti Nama File di Linux

  2. Menggunakan perintah find Linux – Penggunaan dengan contoh

  3. Bagaimana Cara Mengganti Nama Banyak File Menggunakan Find?

  1. Bagaimana Cara Mengompres dan Mengekstrak File Menggunakan Perintah tar di Linux?

  2. Bagaimana BASH Shell memuat file konfigurasinya di Linux

  3. Cara Mengubah Shell Default Di Linux