If-Koubou

Shell Geek: Ubah Nama Banyak File Sekaligus

Shell Geek: Ubah Nama Banyak File Sekaligus (Bagaimana caranya)

Katakanlah Anda memiliki direktori dengan ratusan file dengan nama file yang salah, dan Anda ingin mengganti setiap nama file yang ada uji dengan melecut. (Ini adalah contoh yang dibuat). Kita dapat dengan mudah melakukan ini dengan perintah "untuk" di bash, dikombinasikan dengan sedikit kebaikan bash. Hari ini kita akan belajar cara mengganti teks dalam variabel dalam for loop.

Perintah “for” berfungsi seperti ini:

untuk var in; lakukan $ var; selesai

Anda dapat mengganti dengan pola kecocokan file apa pun, seperti * atau * .txt, dan Anda dapat mengganti dengan sembarang perintah linux. Perintah akan dijalankan secara berurutan pada masing-masing file yang dicocokkan oleh pola pencocokan file.

Di sinilah penanganan variabel bash membuatnya lebih menarik. Daripada hanya melakukan sesuatu seperti “mv $ var”, kita dapat mengganti teks dalam nama file menggunakan sintaks ini:

$ var / originaltext / replacetext

Jadi sekarang, jika kita menjalankan perintah ini di direktori kami:

untuk f in *; lakukan mv $ f $ f / test / prod; selesai

Untuk setiap file yang dicocokkan oleh *, bash akan menjalankan perintah yang serupa dengan ini:

mv test.config prod.config

Saya telah menemukan bahwa pengetahuan tentang shell tidak ternilai ketika mengelola server atau hanya untuk mengelola koleksi file Anda, dan telah menyelamatkan saya jam dari apa yang seharusnya menjadi pekerjaan manual.

Dan ya, saya menyadari ada sejumlah alat yang dapat menyelesaikan penggantian nama banyak file.