GNU/Linux >> Belajar Linux >  >> Linux

Bagaimana Cara Mengganti Nama Banyak File Menggunakan Regex?

Saya ingin mengganti nama banyak file di Mac OS X (10.7.2).. Saya tidak memiliki paket perl untuk rename perintah.

File saya memiliki nama seperti "T452-102456-0.png" dan saya ingin menghapus bagian "-0". Saya tahu saya dapat melakukan tindakan ini dengan menulis skrip php-cli saya sendiri, tetapi saya ingin mengetahui solusi yang lebih mudah dan lebih cepat.

Jawaban yang Diterima:

Bash atau Ksh bersama dengan mv bisa menyelesaikannya:

for f in *.png; do mv -n "$f" "${f/-0}"; done

Jika nama file mungkin juga memiliki "0" setelah tanda hubung pertama dan "-0" selalu di depan titik, Anda mungkin ingin menyertakan titik itu juga dalam ekspresi:

for f in *.png; do mv -n "$f" "${f/-0./.}"; done

Tetapi karena aturan penggantian nama itu sederhana, jika Anda memiliki rename dari util-linux paket, yang akan melakukannya juga:

rename '-0.' '.' *.png

Linux
  1. Bagaimana Mengurutkan File Berdasarkan Izinnya Menggunakan Ls?

  2. Batch Ubah Nama File Menjadi Penomoran Berurutan?

  3. Bagaimana Cara Mengganti Nama Banyak File Menggunakan Find?

  1. Cara Mentransfer File dengan Aman Menggunakan SCP

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

  3. Cara Mengurutkan File di Linux menggunakan Perintah Sortir

  1. Cara Mengganti Nama File di Linux

  2. Cara mencari file menggunakan regex di skrip shell linux

  3. sed - cara melakukan grup regex menggunakan sed