GNU/Linux >> Belajar Linux >  >> Linux

Menggunakan perintah Sed,ex &Perl untuk menemukan dan mengganti teks di Linux

Pertanyaan:  Saya ingin mengganti teks dengan tautan di tag jangkar dari file html. Tantangannya adalah, proyek berisi ratusan file HTML seperti itu dan mengganti teks di semua file itu secara manual bukanlah cara yang cerdas untuk melakukannya. Jadi pertanyaannya adalah, bagaimana saya bisa melakukan hal yang sama menggunakan satu perintah di Linux?

Solusi:

Menggunakan sed perintah di Linux:

sed -i 's/#\(.*logo\)/domain.ca\1/' $file

Perintah di atas mencari baris yang berisi pola logo dan mengganti “#” dengan tautan (misalnya, domain.ca)

Anda juga dapat melewatkan beberapa file untuk perintah di atas seperti yang ditunjukkan di bawah ini.

Variasi lain dari perintah di atas adalah:

sed -i '/logo.png/ s/#/domain.ca/' *.html

Menggunakan perl perintah:

perl -i -pe 's/#/domain.ca/ if /logo.png/' about-us.html

Perintahnya sangat mudah – cari teks dan ganti dengan string tertentu jika dan hanya jika menemukan string yang cocok pada baris file tersebut.

Semua perintah di atas melakukan pekerjaan yang sama, tetapi hanya berbeda dalam cara Anda memasukkan ekspresi reguler Anda.

Gunakan Vim di ex mode (tidak dapat digunakan dengan banyak file):

ex -sc '/logo/s/#/http:\/\/domain.ca\//|x' about-us.html

Pada perintah di atas ekspresi reguler ‘/logo/s/#/http:\/\/domain.ca\//|x ' terdiri dari 's' dan 'x' – dengan 's' untuk pengganti dan 'x' untuk menyimpan dan menutup file.

Catatan:Perintah di atas menggunakan vim , Anda tidak dapat melewatkan banyak file. Anda perlu menjalankan perintah ini secara manual untuk setiap file yang akan diganti.


Linux
  1. Perintah Sed Linux:Penggunaan dan Contoh

  2. Cara Menulis Teks Pada Gambar menggunakan Perintah Linux

  3. Menggunakan 'sed' Untuk Menemukan Dan Mengganti?

  1. Perintah Linux - Gambaran Umum dan Contoh

  2. temukan teks yang cocok dan ganti baris berikutnya

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

  1. Perintah Linux:pekerjaan, bg, dan fg

  2. Menggunakan sed untuk menemukan dan mengganti file teks di Linux

  3. Menggunakan grep dan sed untuk mencari dan mengganti string