GNU/Linux >> Belajar Linux >  >> Linux

Menggunakan 'sed' Untuk Menemukan Dan Mengganti?

Pertanyaan ini sudah memiliki jawaban di sini :Bagaimana cara mengganti string dalam file?

(9 jawaban)
Tutup 6 tahun yang lalu.

Saya tahu pertanyaan ini mungkin sudah pernah dijawab sebelumnya. Saya telah melihat banyak utas tentang ini di berbagai tempat, tetapi jawabannya biasanya sulit untuk saya ekstrak. Saya mencari bantuan dengan contoh penggunaan perintah 'sed'.

Katakanlah saya ingin bertindak atas file "hello.txt" (dalam direktori yang sama dengan prompt). Di mana pun itu berisi frasa "sedikit", itu harus diubah menjadi "asd". Seperti apa bentuk perintahnya?

Jawaban yang Diterima:

sed adalah s tream ed itor, di mana Anda dapat menggunakan | (pipa) untuk mengirim aliran standar (STDIN dan STDOUT secara khusus) melalui sed dan mengubahnya secara terprogram dengan cepat, menjadikannya alat yang berguna dalam tradisi filosofi Unix; tetapi dapat mengedit file secara langsung juga, menggunakan -i parameter yang disebutkan di bawah.
Pertimbangkan yang berikut :

sed -i -e 's/few/asd/g' hello.txt

s/ digunakan untuk s gantikan ekspresi yang ditemukan few dengan asd :

Sedikit, yang berani.

Asd, pemberani.

/g singkatan dari "global", yang berarti melakukan ini untuk seluruh lini. Jika Anda meninggalkan /g (dengan s/few/asd/ , selalu harus ada tiga garis miring apa pun yang terjadi) dan few muncul dua kali pada baris yang sama, hanya few pertama diubah menjadi asd :

Sedikit pria, sedikit wanita, yang berani.

Pria asd, sedikit wanita, pemberani.

Ini berguna dalam beberapa keadaan, seperti mengubah karakter khusus di awal baris (misalnya, mengganti simbol lebih besar dari yang digunakan beberapa orang untuk mengutip materi sebelumnya di utas email dengan tab horizontal sambil meninggalkan ketidaksetaraan aljabar yang dikutip nanti di baris tidak tersentuh), tetapi dalam contoh Anda di mana Anda menentukan di mana saja few terjadi itu harus diganti, pastikan Anda memiliki /g .

Dua opsi (flag) berikut digabungkan menjadi satu, -ie :

-i opsi digunakan untuk mengedit i n tempatkan pada file hello.txt .

-e opsi menunjukkan e xpression/perintah untuk dijalankan, dalam hal ini s/ .

Catatan:Anda harus menggunakan -i -e untuk mencari/mengganti. Jika Anda melakukan -ie , Anda membuat cadangan setiap file dengan huruf 'e' ditambahkan.

Terkait:abeles -Temukan Arti- Pencarian Kamus!
Linux
  1. Menggunakan perintah Sed,ex &Perl untuk menemukan dan mengganti teks di Linux

  2. Editor Vi dan Vim:12 Contoh Temukan dan Ganti yang Kuat

  3. temukan dan salin file menggunakan Bash

  1. Menggunakan grep dan sed untuk mencari dan mengganti string

  2. Temukan dan ganti dengan sed di direktori dan sub direktori

  3. temukan teks yang cocok dan ganti baris berikutnya

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

  2. Contoh Manipulasi Bash String – Panjang, Substring, Temukan dan Ganti

  3. Menggunakan nama dasar dan path lengkap di find -exec