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.