GNU/Linux >> Belajar Linux >  >> Linux

Cara Menghapus Baris dari File Menggunakan Perintah Sed

editor streaming (sed ) adalah alat penting ketika Anda bekerja dengan parsing dan transformasi teks di sistem berbasis nix Anda. Ini digunakan untuk menemukan, memfilter, mengganti teks, dan manipulasi teks seperti penyisipan, penghapusan, penggantian, dan pencarian dalam file teks.

[ Anda mungkin juga menyukai:Cara Menggunakan Sed untuk Menemukan dan Mengganti String dalam File ]

Di sebagian besar distribusi Linux, perintah sed sudah diinstal sebelumnya dan Anda dapat memverifikasinya menggunakan perintah berikut, yang akan menunjukkan lokasi biner dari perintah dan versi.

$ which sed
$ sed --version

Di sini, di artikel ini, saya akan menunjukkan cara menghapus baris dari file menggunakan perintah sed dengan bantuan file sampel yang berisi 7 baris. Saya akan menggunakan file ini untuk tujuan demonstrasi.

$ cat testfile.txt

First line
second line
Third line
Fourth line
Fifth line
Sixth line
SIXTH LINE

Cara Menghapus Baris dari File

Untuk menghapus baris dari file Anda dapat menggunakan perintah di bawah ini. Anda harus mengganti 'N' dengan nomor baris dan 'd' adalah menghapus baris.

$ sed 'Nd' testfile.txt

Jika Anda harus menghapus baris keempat dari file maka Anda harus mengganti N=4 .

$ sed '4d' testfile.txt

Cara Menghapus Baris Pertama dan Terakhir dari File

Anda dapat menghapus baris pertama dari file menggunakan sintaks yang sama seperti yang dijelaskan pada contoh sebelumnya. Anda harus memasukkan N=1 yang akan menghapus baris pertama.

$ sed '1d' testfile.txt

Untuk menghapus baris terakhir dari file menggunakan perintah di bawah ini dengan ($) tanda yang menunjukkan baris terakhir dari sebuah file.

$ sed '$d' testfile.txt

Cara Menghapus Rentang Garis dari File

Anda dapat menghapus rentang baris dari file. Katakanlah Anda ingin menghapus baris dari 3 hingga 5, Anda dapat menggunakan sintaks di bawah ini.

  • M – nomor baris awal
  • N – Nomor baris akhir
$ sed 'M,Nd' testfile.txt

Untuk benar-benar menghapus, gunakan perintah berikut untuk melakukannya.

$ sed '3,5d' testfile.txt

Anda dapat menggunakan ! simbol untuk meniadakan operasi penghapusan. Ini akan menghapus semua baris kecuali rentang yang diberikan (3-5).

$ sed '3,5!d' testfile.txt

Cara Menghapus Baris Kosong dari File

Untuk menghapus semua baris kosong dari file, jalankan perintah berikut. Poin penting yang perlu diperhatikan adalah menggunakan perintah ini, baris kosong dengan spasi tidak akan dihapus. Saya telah menambahkan baris kosong dan baris kosong dengan spasi di file pengujian saya.

$ cat testfile.txt

First line
second line
Third line
Fourth line
Fifth line
Sixth line
SIXTH LINE
$ sed '/^$/d' testfile.txt

Dari gambar di atas, Anda dapat melihat garis kosong dihapus tetapi garis yang memiliki spasi tidak dihapus. Untuk menghapus semua baris termasuk spasi, Anda dapat menjalankan perintah berikut.

$ sed '/^[[:space:]]*$/d' testfile.txt

[ Anda mungkin juga menyukai:Cara Menghapus Baris Kosong di File Menggunakan Grep, Sed, dan Awk ]

Cara Menghapus Baris yang Dimulai dengan Kata dalam File

Untuk menghapus baris yang dimulai dengan kata tertentu, jalankan perintah berikut dengan ^ simbol mewakili awal kata diikuti dengan kata sebenarnya.

$ sed '/^First/d' testfile.txt

Untuk menghapus baris yang diakhiri dengan kata tertentu jalankan perintah berikut. Kata yang akan dihapus diikuti dengan $ simbol akan menghapus garis.

$ sed '/LINE$/d' testfile.txt

Cara Membuat Perubahan Langsung menjadi File

Untuk membuat perubahan langsung di file menggunakan sed Anda harus melewati -i flag yang akan membuat perubahan langsung di file.

$ sed -i '/^[[:space:]]*$/d' testfile.txt 

Kami telah sampai di akhir artikel. sed perintah akan memainkan peran utama ketika Anda bekerja untuk memanipulasi file apa pun. Ketika digabungkan dengan utilitas Linux lainnya seperti awk , grep Anda dapat melakukan lebih banyak hal dengan sed .


Linux
  1. Menggunakan Google Drive dari Baris Perintah Linux

  2. Hapus Beberapa Baris Pertama Secara Efisien Dari File Teks?

  3. Bagaimana Cara Menghapus Beberapa Baris Acak Dari File Teks Menggunakan Sed?

  1. Menghapus Baris Tertentu dari File di Baris Perintah Linux

  2. Bagaimana cara menggunakan sed untuk menghapus hanya dua baris kosong?

  3. Bagaimana cara mengunggah satu file dengan FTP dari baris perintah?

  1. Cara Mengekstrak File tar.gz di Linux dengan Menggunakan Command Line

  2. Bagaimana cara mendapatkan URL file Dropbox dari baris perintah?

  3. Bagaimana cara menghapus file tanpa menggunakan rm?