GNU/Linux >> Belajar Linux >  >> Cent OS

Centos – Ganti Nama Semua File Dengan Nama Tertentu?

Saya mencoba mencari file tertentu dengan nama "stringx" dan mengganti namanya (tetapi bukan ekstensinya) dengan "stringy". Jadi pada dasarnya untuk stringx.txt dan stingx.cs, saya ingin stringy.txt dan stringy.cs. Saya telah mencoba menguji perintah rename regex saya menggunakan yang berikut, tetapi tidak memberikan hasil:

rename -n 'stringx./s/*$stringy.//' stringx.*

Saya menjalankan csh di bawah Centos. Saya dapat melihat bahwa ekspresi reguler saya mungkin tidak benar, tetapi saya tidak dapat melihat hasil apa pun untuk memverifikasi ini. Saya dapat melihat bahwa ada file yang bernama stringx. dengan sebagai berikut:

find ./ -name 'stringx.*'

Jawaban yang Diterima:

rename stringx stringy stringx.*

Ada (setidaknya) dua utilitas yang disebut rename pada sistem Linux yang khas. Debian dan distribusi turunan (termasuk Ubuntu) mengirimkan skrip Perl yang sintaksnya adalah

rename 's/stringx/stringy/' stringx.*

Pada distribusi lain, termasuk CentOS, rename berasal dari util-linux, dan sintaksnya adalah apa yang saya tulis di atas. Utilitas ini tersedia dengan nama rename.ul di Debian dan turunannya.

Jika Anda ingin mengulang di subdirektori, dengan asumsi bahwa dengan csh yang Anda maksud adalah tcsh (tapi sungguh, pikirkan memasuki pertengahan 1990-an dan beralih ke zsh):

set globstar
rename stringx stringy stringx.* **/stringx.*

Cent OS
  1. Cara Mengatur Nama Antarmuka Kustom dengan NetworkManager di CentOS/RHEL 7

  2. Temukan semua file dengan nama yang mengandung string

  3. Cara menghapus semua file yang dimulai dengan string tertentu di Linux

  1. Kelola Aliran CentOS dengan Foreman

  2. Hapus Semua File Kecuali Di Subdirektori Tertentu Dengan Temukan?

  3. Centos – Ubah Semua Izin Folder Dengan 1 Perintah?

  1. Bagaimana Cara Menemukan File Dengan Subpath Tertentu?

  2. Ganti Nama Semua File “.pdf” Menjadi “_0.pdf”?

  3. Daftar Semua Paket yang Terinstal dengan yum di CentOS 7