Jika Anda berhasil melihat sekilas lebih dalam ke dalam ekosistem lingkungan sistem operasi Linux, Anda akan menemukan bahwa perintah bawaannya cukup untuk menyelesaikan sebagian besar masalah komputasi kita.
Salah satu masalah tersebut adalah kebutuhan untuk menemukan dan mengganti teks, kata, atau string dalam file terutama ketika Anda berada di lingkungan server. Solusi untuk masalah ini memungkinkan Anda menangani masalah yang mengganggu seperti memperbarui “/etc/apt/sources.list ” setelah upgrade sistem Linux berhasil.
Membuat File Teks Tes di Linux
Buat file teks dengan nama seperti “test.txt ” dan mengisinya dengan beberapa karakter teks, kata, atau string. Biarkan file ini berada di jalur yang sama dengan instance terminal Anda.
$ nano test.txt OR $ vi test.txt
Kami akan menggunakan perintah cat untuk secara fleksibel mencatat perubahan pada file pengujian yang kami buat.
$ cat test.txt
Menggunakan Sed untuk Menemukan dan Mengganti Teks, Word, atau String dalam File
Kekuatan editor aliran ini terletak pada kemudahannya dalam menyelesaikan transformasi aliran input dasar. Perintah sed menawarkan pendekatan yang cepat, mudah, dan tak lekang oleh waktu dalam menemukan dan mengganti teks, kata, atau pola string yang ditargetkan dalam sebuah file.
Menemukan dan Mengganti Kemunculan Pertama Teks, Word, atau String di File
Dari file pengujian yang kami buat, kami akan memperbarui semua contoh kata “LinuxShellTips ” dengan alternatif “situs ini ”. Sintaks dari perintah sed yang akan kita gunakan untuk menyelesaikan tugas sederhana ini adalah sebagai berikut:
$ sed -i 's/[THE_OLD_TERM]/[THE_NEW_TERM]/' [TARGETED_FILE]
Dengan mengacu pada perintah sed di atas penggunaan dan sintaks, kami dapat mengganti file pengujian kami "LinuxShellTips ” istilah dengan “situs ini ” istilah sebagai berikut:
$ sed -i 's/LinuxShellTips/this site/' test.txt
Sekarang kita dapat menggunakan perintah cat untuk melihat pratinjau perubahan yang diusulkan di atas pada file pengujian kami untuk mencatat jika ada pengeditan substansial yang terjadi.
$ cat test.txt
Seperti yang Anda lihat, dua kemunculan pertama dari kata “LinuxShellTips ” telah diganti dengan frasa “situs ini ”.
Menemukan dan Mengganti Semua Kemunculan Teks, Word, atau String di File
Meskipun perintah di atas telah menggantikan semua pola kata yang ditargetkan dalam file pengujian kami, penggunaannya cenderung selektif di sebagian besar keadaan. Perintah ini berfungsi paling baik untuk file kecil karena, dalam file besar, hanya beberapa kemunculan pertama dari pola kata yang ditargetkan yang mungkin mendapat manfaat dari 'temukan dan ganti ' kecakapan.
Untuk menemukan dan mengganti semua kemunculan pola kata dalam file yang dapat diedit, Anda harus mematuhi perintah sed berikut sintaks.
$ sed -i 's/[THE_OLD_TERM]/[THE_NEW_TERM]/g' [TARGETED_FILE]
Seperti yang telah Anda catat, 'g'
dalam sintaks perintah find &replace di atas bertindak sebagai variabel global sehingga semua kemunculan global dari suatu istilah dalam file yang ditargetkan dipertimbangkan.
$ sed -i 's/this site/LinuxShellTips/g' test.txt
Perintah di atas menemukan semua kemunculan global dari istilah “situs ini ” dan menggantinya dengan istilah “LinuxShellTips ”.
Menggunakan Awk untuk Menemukan dan Mengganti Teks, Word, atau String dalam File
Jika Anda terbiasa dengan utilitas baris perintah awk, maka Anda tahu bahwa metrik bahasa skripnya yang kuat menjadikannya ahli dalam pemrosesan teks. Administrator sistem Linux dan pengguna profesional menganggap alat ini efektif dalam ekstraksi dan pelaporan data.
Perintah awk sintaks untuk operasi temukan-dan-ganti sederhana terlihat seperti cuplikan berikut:
$ awk '{gsub("[THE_OLD_TERM]","[THE_NEW_TERM]"); print}' [TARGETED_FILE]
Dalam sintaks di atas, awk akan menggantikan THE_OLD_TERM dari THE_NEW_TERM di TARGETED_FILE dan cetak konten file yang dihasilkan pada terminal sistem.
Mari kita ambil pendekatan praktis:
$ awk '{gsub("Linux","ubuntu"); print}' test.txt
Dengan fungsi dinamis dari keduanya sed dan awk alat perintah, Anda sekarang harus menemukan, mengganti, dan menimpa teks, kata, atau pola string dalam file yang ditargetkan. Alat ini memberi pengguna sistem fleksibilitas yang dibutuhkan saat menggunakan antarmuka baris perintah.