Perintah sed di Linux dengan 15 contoh praktis

Perintah sed di Linux dengan 15 contoh praktis

Itu 'sed' Perintah adalah alat penting untuk memanipulasi teks di Linux. Ini memungkinkan Anda untuk mencari pola dalam teks dan melakukan berbagai operasi pada teks yang cocok, seperti menggantinya, menghapusnya, atau mencetaknya. Perintah ini mengambil input dari file atau input standar.

Perintah SED default tidak membuat perubahan pada file asli sampai Anda menggunakan -Saya Parameter baris perintah. Perintah tersebut mengingatkan teks dan mengirimkan hasilnya ke output standar. Anda juga dapat mengarahkan ulang teks ke file sesuai persyaratan.

Dalam artikel ini, kami akan memberikan 15 contoh praktis untuk menggunakan 'sed' Perintah untuk melakukan berbagai tugas.

Ganti String Contoh Menggunakan Sed

1. Ganti string dalam file

Untuk mengganti string dalam file, Anda dapat menggunakan 's/old_string/new_string/g' memerintah. Sintaksnya adalah:

# Sintaks sed 's/old_string/new_string/g' file_name
12# Sintaksis 's/old_string/new_string/g' file_name

Untuk mengganti string dalam file menggunakan perintah SED, gunakan -Saya argumen untuk membuat perubahan di tempat. String perintah harus menyertakan perintah pengganti 'S', string asli, dan string pengganti. Misalnya, untuk mengganti semua contoh string "apel" dengan string "pisang" dalam file yang disebut buah -buahan.txt, gunakan perintah berikut:

Lihat contoh berikut:

Sed 's/apel/pisang/g' buah.txt  

Perintah ini membaca konten dari “buah -buahan.file txt ”dan menggantikan semua kemunculan kata "apel" dengan kata itu "pisang" dan mencetak teks yang dihasilkan ke terminal. Itu G memberi tahu perintah untuk mengganti semua kejadian yang cocok secara global dalam file.

Anda juga dapat membuat perubahan dalam file yang sama dengan -Saya pilihan.

Sed -i 's/apel/pisang/g' buah.txt  

Anda akan melihat bahwa file asli dimodifikasi. Anda juga dapat membuat cadangan file sebelum membuat perubahan dalam file asli.

sed -i.Buah Bak/Apple/Pisang/G 'Bak.txt  

File cadangan dari aslinya akan dibuat di direktori saat ini dengan nama buah.txt.Bak.

2. Ganti kemunculan pertama setiap baris

Untuk mengganti hanya kemunculan pertama dari suatu pola pada setiap baris, Anda dapat menggunakan S/Pola/Penggantian/Perintah. Misalnya, untuk mengganti hanya kemunculan pertama kata "apel" dengan kata "pisang" dalam buah -buahan file.txt, Anda dapat menggunakan perintah berikut:

Sed 's/apel/pisang/' buah.txt  

3. Ganti kejadian terakhir dari setiap baris

Untuk mengganti hanya kejadian terakhir dari suatu pola pada setiap baris, Anda dapat menggunakan perintah S/POLA/PENGGANTI/G '. Misalnya, untuk mengganti hanya kemunculan terakhir dari kata "apel" dengan kata "pisang" dalam buah -buahan file.txt ', Anda dapat menggunakan perintah berikut:

sed 's/\ (.*\) apel/\ 1banana/g 'buah.txt  

4. Ganti string di nomor baris tertentu

Untuk mengganti string pada baris tertentu, Anda dapat menggunakan linenumbers/pola/penggantian/perintah. Misalnya, untuk mengganti kemunculan pertama kata "apel" dengan kata "pisang" pada baris 3 dari buah -buahan file.txt, Anda dapat menggunakan perintah berikut:

Sed '3s/apel/pisang/' buah.txt  

5. Ganti string dari rentang nomor baris

Untuk mengganti string pada berbagai baris, Anda dapat menggunakan startLinEnmors, endlineNeMer/Pattern/Replacement/Command. Misalnya, untuk mengganti kemunculan pertama kata "apel" dengan kata "pisang" pada baris 3 hingga 5 dari buah -buahan file.txt, Anda dapat menggunakan perintah berikut:

Sed '3,5s/apel/pisang/' buah.txt  

Menghapus baris dalam file menggunakan sed

6. Hapus baris pertama dari file

Untuk menghapus baris yang berisi string tertentu, Anda dapat menggunakan perintah /pola /d. Misalnya, untuk menghapus semua baris yang berisi kata "apel" di buah file.txt, Anda dapat menggunakan perintah berikut:

Sed '1d' buah.txt  

7. Hapus baris berisi string tertentu

Untuk menghapus garis yang berisi string tertentu, Anda dapat menggunakan '/pola/d' memerintah. Misalnya, untuk menghapus semua baris yang berisi kata "apel" di buah file.txt, Anda dapat menggunakan perintah berikut:

Sed '/apple/d' buah.txt  

8. Hapus baris kecuali string yang cocok

Untuk membalikkan garis yang cocok, Anda dapat menggunakan '!' operator dalam kombinasi dengan perintah lain. Misalnya, untuk menghapus semua baris yang berisi kata "apel" di buah file.txt, Anda dapat menggunakan perintah berikut:

sed '/apel/!D 'Buah.txt  

9. Hapus rentang garis

Untuk menghapus berbagai garis, Anda dapat menggunakan StartLinEnbors, Endlinenumberd memerintah. Misalnya, untuk menghapus baris 3 hingga 5 file buah.txt, Anda dapat menggunakan perintah berikut:

Sed '3.5d' buah.txt  

10. Hapus baris kosong dari file

Anda dapat menghapus garis kosong dari file menggunakan '/^$/d' pilihan.

Sed '/^$/d' Fruits.txt  

Perintah ini menganggap garis sebagai kosong, yang tidak mengandung karakter apa pun, bahkan satu ruang.

Mencetak baris dari file menggunakan sed

11. Cetak nomor baris saja

Untuk mencetak hanya nomor garis garis yang cocok, Anda dapat menggunakan '/pola/=' memerintah. Misalnya, untuk mencetak nomor baris dari semua baris yang berisi kata "apel" di buah file.txt, Anda dapat menggunakan perintah berikut:

Sed '/apple/=' buah.txt  

12. Cetak jangkauan file

Untuk mencetak berbagai baris, Anda dapat menggunakan 'Mulai, endp' perintah. Misalnya, untuk mencetak 10 baris pertama dari buah -buahan file.txt, Anda dapat menggunakan perintah berikut:

Sed -n '1.10p' Buah.txt  

Memasukkan baris untuk mengajukan menggunakan sed

13. Masukkan baris baru setelah pola pencocokan

Untuk memasukkan garis setelah pola tertentu, Anda dapat menggunakan '/pola/a \ newline' memerintah. Misalnya, untuk memasukkan garis "anggur" setelah garis yang berisi kata "apel" di buah file.txt, Anda dapat menggunakan perintah berikut:

Sed '/apple/a \ anggur' buah.txt  

14. Masukkan baris baru sebelum pencocokan pola

Untuk memasukkan garis sebelum pola tertentu, Anda dapat menggunakan '/pola/i \ newline' memerintah. Misalnya, untuk memasukkan garis "anggur" sebelum baris yang berisi kata "apel" di buah file.txt, Anda dapat menggunakan perintah berikut:

Sed '/apple/i \ anggur' buah.txt  

Tugas lain menggunakan sed

15. Ubah Kasus Karakter

Untuk mengubah kasus string, Anda dapat menggunakan 'y/old/new/' memerintah. Misalnya, untuk mengubah semua huruf kecil menjadi huruf besar dalam buah -buahan file.txt, Anda dapat menggunakan perintah berikut:

sed 'y/abcdefghijklmnopqrstuvwxyz/abcdefghijklmnopqrstuvwxyz/' fruits.txt  

Kesimpulan

Kami berharap contoh -contoh ini sangat membantu dalam menunjukkan kepada Anda keserbagunaan perintah SED. Ingatlah bahwa SED adalah alat yang sangat kuat dan penting untuk menguji perintah Anda dengan cermat sebelum menggunakannya pada file penting. Jika Anda memiliki pertanyaan atau membutuhkan bantuan lebih lanjut, jangan ragu untuk bertanya. Dengan contoh -contoh praktis ini di bawah ikat pinggang Anda, Anda akan baik -baik saja untuk menguasai perintah SED dan menjadi administrator Linux yang mahir.