Android

Namakan semula arahan dalam linux (menamakan semula berbilang fail)

Tutorial belajar perintah CLI di LINUX

Tutorial belajar perintah CLI di LINUX

Isi kandungan:

Anonim

Menamakan semula banyak fail dan direktori dengan arahan mv boleh menjadi proses membosankan kerana ia melibatkan menulis arahan yang rumit dengan paip, gelung, dan sebagainya.

Di sinilah arahan rename berguna. Ia menggariskan fail yang diberikan dengan menggantikan ungkapan carian dalam nama mereka dengan pengganti yang ditentukan.

Dalam tutorial ini, kami akan menerangkan bagaimana untuk menggunakan arahan rename untuk menukar nama semula fail.

Memasang rename

Terdapat dua versi arahan rename dengan sintaks dan ciri yang berbeza. Kami akan menggunakan versi Perl bagi arahan rename .

Jika versi ini tidak dipasang pada sistem anda, gunakan pengurus pakej pengedaran Linux anda untuk memasangnya:

  • Ubuntu dan Debian

    sudo apt update sudo apt install rename

    CentOS dan Fedora

    sudo yum install prename

    Arch Linux

    yay perl-rename

Menggunakan rename

Berikut adalah sintaks umum bagi arahan rename :

rename perlexpr files

Arahan rename pada dasarnya adalah skrip Perl. Ia akan menamakan semula files diberikan mengikut perlexpr biasa perlexpr ditentukan. Anda boleh membaca tentang ungkapan biasa Perl di sini.

Sebagai contoh, arahan berikut akan mengubah pelanjutan semua fail .css ke .scss :

rename 's/.css/.scss/' *.css

Mari kita jelaskan perintah itu dengan lebih terperinci:

  • s/search_pattern/replacement/ - Pengendali pengganti. .css - Corak carian. Ini adalah hujah pertama dalam pengendali pengganti. Perintah pengganti rename akan mencari corak ini dalam nama fail yang diberikan dan jika didapati ia akan menggantinya dengan hujah penggantian. .scss - Penggantian. Hujah kedua dalam pengendali pengganti. *.css - Semua fail dengan lanjutan ".css". Wildcard ( * ) adalah simbol yang digunakan untuk mewakili sifar, satu atau lebih aksara.

Sebelum menjalankan arahan sebenar dan menamakan semula fail dan direktori, ia sentiasa merupakan idea yang baik untuk menggunakan pilihan -n yang akan melaksanakan "run kering" dan menunjukkan kepada anda apa yang akan dinamakan semula:

rename -n 's/.css/.scss/' *.css

Output akan kelihatan seperti ini:

rename(file-0.css, file-0.scss) rename(file-1.css, file-1.scss) rename(file-2.css, file-2.scss) rename(file-3.css, file-3.scss) rename(file-4.css, file-4.scss)

Secara lalai, arahan rename tidak menggantikan fail sedia ada. Gunakan pilihan -f yang rename untuk menimpa fail sedia ada:

rename -f 's/.css/.scss/' *.css

rename -v 's/.css/.scss/' *.css

file-0.css renamed as file-0.scss file-1.css renamed as file-1.scss file-2.css renamed as file-2.scss file-3.css renamed as file-3.scss file-4.css renamed as file-4.scss

menamakan semula

rename 's/\.jpe?g$/.jpg/i' *

Kesimpulannya

Perintah rename membolehkan anda menamakan semula beberapa fail sekaligus, dengan menggunakan ungkapan biasa Perl.

menamakan semula terminal