Panduan Pengguna: Gunakan ganti nama Command On Linux
Adakah anda pernah cuba menggunakan arahan ganti nama pada Linux ? Adakah anda ingin menangani fail yang menamakan semula rumah kuasa dunia Linux dan menyediakan mv —dan diri anda sendiri — selebihnya. Ganti nama cepat, fleksibel, dan lebih mudah. Berikut adalah panduan terperinci mengenai pusat kuasa arahan ini.
Apa yang Salah dengan mv?
Tidak ada yang salah dengan mv . Walau bagaimanapun, perintah itu berfungsi dengan baik. Anda juga boleh menemuinya di semua distribusi Linux, di macOS, dan di OS seperti Unix yang lain. Walau bagaimanapun, ia sentiasa tersedia. Tetapi pastinya, anda tidak mahukan sekop tetapi memerlukan jentolak.
Perintah mv mempunyai tujuan dalam hidup, dan itu adalah untuk memindahkan fail. Kesan sampingan yang selamat dapat digunakan untuk memindahkan fail lama ke dalam fail baru, dengan nama baru. Kesannya ialah menamakan semula fail, sehingga anda mendapat apa yang anda mahukan. Tetapi mv bukan alat penamaan semula fail yang disesuaikan.
Cara Menamakan Semula Fail Tunggal Dengan mv

Sekiranya anda mahu menggunakan mv untuk menamakan semula fail kemudian taip mv, ruang, nama fail, ruang, dan nama baru yang anda mahukan fail tersebut. Kemudian tekan Enter.
Anda juga boleh menggunakan ls untuk memeriksa bahawa fail itu dinamakan semula atau tidak
mv renameCara Menamakan Semula Beberapa Fail dengan mv
Perkara menjadi rumit setelah menamakan semula beberapa fail. perl-rename tidak mempunyai kemampuan untuk menamakan semula pelbagai fail. Anda mesti menggunakan beberapa helah Bash yang berguna. Ada baiknya jika anda mengetahui beberapa baris perintah kelas menengah, tetapi kesukaran menamakan semula fail yang berbeza dengan mv hanya untuk kemudahan penggunaan mv untuk menamakan semula satu fail.
Segala-galanya meningkat dengan serta-merta.
Katakan di sini adalah direktori dengan banyak fail di dalamnya, dengan pelbagai jenis. Beberapa fail mempunyai .prog sambungan. Kami ingin menamakan semula fail-fail tersebut pada baris perintah sehingga mempunyai fail .prg sambungan.
Mari kita lihat failnya.
renameBerikut adalah satu kaedah untuk melakukannya yang tidak boleh digunakan untuk menulis fail skrip Bash yang sebenarnya.
renameAdakah ia berjaya atau tidak? Mari periksa fail dan kemudian teruskan.
renameJadi, ia berfungsi dengan baik. Mereka semua .prg fail sekarang, dan tidak ada .prog fail dalam direktori.
Apa yang Berlaku?
Apa yang sebenarnya dilakukan oleh arahan panjang? Mari kita lihat.
prenameBahagian pertama memulakan gelung yang akan diproses setiap .prog fail dalam direktori, pada gilirannya.
Bahagian lain mengatakan apa yang akan dilakukan oleh pemprosesan buat . Ia menggunakan mv untuk memindahkan setiap fail ke fail yang baru. Nama fail baru akan hampir sama dengan nama fail asal kecuali untuk bahagian .prog. Juga, peluasan .prg akan digunakan.
Inilah Cara Mudah
Yang paling pasti. Ini dia menamakan semula arahan.

Itu bukan sebahagian daripada pengedaran Linux standard, jadi anda mahu memasangnya. Juga, ia mempunyai nama yang berbeza dalam pelbagai keluarga Linux, tetapi semuanya berfungsi dengan cara yang serupa. Anda hanya akan mengganti nama perintah yang betul mengikut citarasa Linux yang anda gunakan.
Dalam edaran yang berasal dari Debian atau Ubuntu anda hanya memasang perl-rename seperti ini:
*.progDalam edaran RedHat atau Fedora yang anda pasangkan nama pranama seperti ini. Ingat bahawa p awal, bermaksud Perl.
renameUntuk memasangnya di Manjaro Linux gunakan arahan berikut. Perlu diingat bahawa arahan penamaan semula dikenali sebagai s.
.progGunakan ganti nama Command -> Mari Mari Cuba Lagi
Di sini kita akan menggunakan rename. Kami melakukan ini supaya kami mempunyai satu set fail .prog.
.prgMari gunakan perintah yang diberikan di bawah ini untuk menamakannya semula. Kami juga akan memeriksa ls perintah sama ada ia berfungsi atau tidak. Sekiranya anda ingin menggantikan rename dengan nama perintah yang tepat untuk Linux jika tidak dapat menggunakan Ubuntu atau Linux yang berasal dari Debian.
ls lsIa berfungsi dengan baik, sekarang semuanya tidak termasuk fail .prg .prog fail yang tersisa di direktori.
Apa yang berlaku di sini?
Mari kita bahas dalam tiga bahagian.
Di dalam pertama bahagian, anda akan melihat nama perintah, rename (atau ls atau ls, untuk pengedaran lain).
Ketiga terakhir bahagian adalah ^, yang menerangkan $ untuk beroperasi pada semua fail .prog.
The kedua bahagian menerangkan kerja yang ingin kita lakukan pada setiap nama fail. The ^ bermaksud pengganti. Istilah pertama (ls) adalah apa ls akan dicari dalam setiap nama fail dan istilah ke-2 (ls) adalah yang akan digantikannya.
openwrt atau dd-wrt
Perintah bahagian tengah atau ungkapan tengah adalah Perl 'ungkapan biasa' dan inilah yang menyediakan s/ perintah kebolehpercayaannya.
Mengubah Bahagian Lain Nama Fail
Kami telah mengubahsuai peluasan nama fail setakat ini, mari kita ubah bahagian nama fail yang lain.
Di dalam direktori, terdapat banyak fail kod sumber C. Semua nama fail diawali dengan loghat_. Kami juga boleh menyemaknya dengan y/.
a-zDi sini kita ganti semua kejadian slang_ dengan sl_. Format arahan agak biasa bagi kita. Kami hanya mengubah istilah carian, istilah penggantian, dan jenis fail.
A-ZDi sini kita mencari fail .c, dan mencari slang_. Setiap kali anda menemui slang_ dalam nama fail, ia digantikan dengan sl_.
Anda juga dapat memeriksa hasil perintah setelah mengulangi perintah ls dari atas menggunakan parameter yang sama:
a-zMengeluarkan Bahagian Nama Fail
Kami juga boleh menghapus sebahagian daripada nama fail setelah menggantikan istilah carian dengan apa-apa.
mv oldfile.txt newfile.txt
Kita juga dapat melihat dari ls perintah bahawa kita .c fail semua disiapkan dengan sl_. Mari kita tinggalkan semuanya.
The menamakan semula perintah mengikuti format yang sama seperti yang disebutkan di atas. Kami akan mencari fail .c. Istilah carian adalah sl_, tetapi tidak ada istilah penggantian. Dua garis miring terbalik '//' tanpa apa-apa di antara mereka bermaksud tali kosong.
ls *.txtdapat memproses setiap fail .c secara bergilir-gilir. Juga, ia mencari sl_ dalam nama fail. Sekiranya anda menjumpainya, anda boleh diganti dengan apa-apa. Sebagai alternatif, istilah carian dikeluarkan.
Penggunaan lain dari
ls *.prog -larahan mengesahkan bahawa awalan sl_ telah dipadamkan dari setiap fail .c.
Had diubah kepada Bahagian Nama Fail tertentu
Mari kita gunakan
for f in *.prog; do mv -- '$f' '${f%.prog}.prg' untuk melihat pada fail yang mempunyai param string dalam nama fail mereka. Kemudian kita akan gunakan menamakan semula arahan untuk menggantikan rentetan melalui parameter rentetan. Kami juga menggunakan ls sekali lagi untuk melihat kesannya menamakan semula arahan yang terdapat pada fail tersebut.ls *.pr*
for f in *.prog; do mv -- '$f' '${f%.prog}.prg' sudo apt-get install rename
Anda kemudian akan melihat empat fail yang ada berhenti dalam nama fail mereka. param.c, param_one.c, dan param_two.c semuanya mempunyai berhenti dekat bermula nama mereka. ketiga_param.c mempunyai berhenti dekat terakhir namanya, tepat sebelum peluasan.
Anda boleh mencari menamakan semula perintah untuk param di mana sahaja dalam nama fail. Anda kemudian boleh menggantinya dengan parameter dalam semua keadaan.
Penggunaan lain dari ls arahan menunjukkan kepada kita bahawa apa yang telah berlaku dengan tepat. Adakah berhenti berada di awal atau di akhir nama fail. Anda juga boleh menggantinya dengan a parameter.
Kita boleh menggunakan metakarakter Perl untuk membersihkan tingkah laku ungkapan pusat. Metacharacters adalah tanda yang mewakili urutan atau kedudukan watak. Contohnya,
sudo dnf install prenamebermaksud permulaan rentetan, (.) bermaksud sebarang watak tunggal (selain daripada watak barisan baru),
sudo pacman -Syu perl-renamebermaksud hujung tali.
Juga, kami menggunakan permulaan metakarakter rentetan (
ls *.prog) untuk membatasi carian kami hingga permulaan nama fail.
rename 's/.prog/.prg/' *.prog
ls *.pr*
ls sl*.c
rename 's/slang_/sl_' *.c
Fail yang kami namakan semula disenaraikan sebelumnya. Kita juga dapat melihat parameter rentetan pada awal 3 nama fail dan terletak di hujung salah satu nama fail.
Kami menamakan semula arahan menggunakan permulaan metakarakter baris (^) sebelum parameter istilah carian. Ini menjelaskan untuk hanya mempertimbangkan istilah carian yang dapat dijumpai jika itu pada awal nama fail. Parameter rentetan carian akan dielakkan jika berada di tempat lain di nama fail.
Melihat dengan
ls sl*.c, kita kemudian dapat melihat bahawa nama fail mempunyai parameter di terakhir nama fail belum diubah. Tetapi ketiga nama fail tersebut memiliki parameter pada bermula nama mereka mempunyai rentetan carian yang digantikan oleh nilai istilah pengganti.
The menamakan semula kuasa terletak pada kekuatan Perl.
Melihat Dengan Pengumpulan
Inilah kes di mana anda mungkin mempunyai fail dengan rentetan yang sama dengan namanya. Mereka tidak sama rentetan yang sama, jadi anda hanya mencari dan penggantian tidak dapat berfungsi di sini.
Dalam contoh ini kita menggunakan
ls *.c rename 's/sl_//' *.c ls *.cuntuk melihat fail yang kita ada yang bermula dengan str. Juga, ada dua daripadanya, string.c dan strangle.c. Kami juga boleh menamakan semula kedua rentetan setelah menggunakan kaedah yang dikenali sebagai pengelompokan.
Ungkapan tengah dari menamakan semula arahan akan mencari rentetan dalam nama fail yang mempunyai urutan watak berusaha atau stra. Di sini urutan ini diikuti oleh ng. Sebagai alternatif, istilah carian kami akan mencari rentetan dan mencekik. Istilah penggantian adalah bang.
ls *param*
rename 's/param/parameter' *.c
ls *param*
Selepas menggunakan
ls *param*.clain kali mengesahkan bahawa string.c telah menjadi bang.c dan strangle.c kini menjadi bangle.c.
Gunakan ganti nama Perintah Dengan Terjemahan
The menamakan semula perintah melakukan semua tindakan pada nama fail yang dikenali sebagai terjemahan. Berikut adalah contoh terjemahan yang memaksa sekumpulan nama fail menjadi huruf besar.
Di dalam menamakan semula arahan yang diberikan di bawah ini menyatakan bahawa kami tidak menggunakan
rename 's/^parameter/value/' *.cuntuk memulakan ungkapan tengah, kami menggunakan
ls *param*.c. Ini menjelaskan bahawa perintah tidak dapat melakukan penggantian; kami sedang membuat terjemahan.
Istilah
ls value*.cadalah ungkapan Perl. Ini bermaksud bahawa semua huruf kecil dalam urutan dari a hingga z. Tetapi, istilah
ls str*.cmewakili semua huruf besar dalam urutan dari A hingga Z.
Ungkapan tengah dalam perintah ini dapat diparafrasa seolah-olah ada huruf kecil dari a hingga z yang terdapat dalam nama fail. Ia menggantikannya menggunakan aksara yang sesuai dari urutan aksara huruf besar dari A hingga Z.
Sekiranya anda ingin memaksa nama fail semua fail .prg menjadi huruf besar, gunakan perintah ini:
namakan semula ‘y / a-z / A-Z /’ * .prg
rename 's/(stri|stra)ng/bang/' *.c
Perintah
ls ban*.ctunjukkan kepada kita bahawa semua .prg fail sambungan kini berada dalam huruf besar. Juga, untuk menjadi tepat, mereka tidak betul .prg fail lagi. Baiklah, mereka adalah fail .PRG. Pastikan Linux peka huruf besar kecil.
Kita juga boleh membalikkan perintah terakhir itu setelah kembali ke kedudukan
ls *.PRGdan istilah A-Z dalam ungkapan tengah.
namakan semula ‘y / A-Z / a-z /’ * .PRG
ls * .prg
Anda Tidak Boleh Belajar Perl dalam Lima Minit
Mengendalikan Perl adalah masa yang dihabiskan dengan baik. Tetapi untuk mula menggunakan kemampuan penjimatan masa dari menamakan semula perintah, anda tidak mempunyai banyak pengetahuan Perl sama sekali untuk memperoleh kelebihan besar dalam kekuatan.
Kesimpulan:
Inilah semua mengenai ‘Use rename Command On Linux’. Apa pandangan anda mengenainya? Sekiranya anda ingin berkongsi kaedah atau petua lain mengenai artikel tersebut, beritahu kami di bawah. Untuk pertanyaan dan pertanyaan lebih lanjut, beritahu kami di bahagian komen di bawah!
Baca juga:


