GNU/Linux >> Belajar Linux >  >> Linux

Cara Menemukan dan Mengganti Teks, Word, atau String di File

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.


Linux
  1. Cara Menggunakan Awk dan Ekspresi Reguler untuk Memfilter Teks atau String dalam File

  2. Bagaimana Cara Mengganti String Dalam File?

  3. Temukan dan ganti teks dalam file di antara rentang baris menggunakan sed

  1. Bagaimana Menemukan Tanda Kurung yang Tak Tertandingi Dalam File Teks?

  2. Bagaimana Menemukan Jenis File Img Dan Memasangnya?

  3. Bagaimana cara mengetahui akhir baris dalam file teks?

  1. Menggunakan grep dan sed untuk mencari dan mengganti string

  2. temukan teks yang cocok dan ganti baris berikutnya

  3. Bagaimana menemukan indeks kata dalam sebuah string di bash?