GNU/Linux >> Belajar Linux >  >> Linux

Tutorial Unix Sed:Cara Menulis ke File Menggunakan Sed

Artikel ini adalah bagian dari seri Tutorial Unix Sed. Pada artikel sebelumnya, kita telah membahas tentang operasi sed print , operasi sed delete dan sed find and replace.

Pada artikel ini, mari kita tinjau cara mengekstrak bagian dari satu file dan menulisnya ke file lain menggunakan sed.

Sed menyediakan perintah “w” untuk menulis data ruang pola ke file baru.

Sed membuat atau memotong nama file yang diberikan sebelum membaca baris input pertama dan menulis semua kecocokan ke file tanpa menutup dan membuka kembali file tersebut.

Syntax: 

#sed 'ADDERSSw outputfile' inputfilename

#sed '/PATTERN/w outputfile' inputfilename

Sed membaca sebuah baris dan menempatkannya dalam buffer pola dan menulis buffer pola ke file output yang diberikan sesuai dengan perintah yang diberikan.

Mari kita buat file geekstuff.txt terlebih dahulu yang akan digunakan dalam semua contoh yang disebutkan di bawah.

# cat thegeekstuff.txt
1. Linux - Sysadmin, Scripting etc.
2. Databases - Oracle, mySQL etc.
3. Hardware
4. Security (Firewall, Network, Online Security etc)
5. Storage
6. Cool gadgets and websites
7. Productivity (Too many technologies to explore, not much time available)
8. Website Design
9. Software Development
10.Windows- Sysadmin, reboot etc.

Mari kita tinjau beberapa contoh perintah tulis di sed.

1. Tulis baris pertama file

Dalam contoh ini, 1 (alamat) merujuk baris pertama dari input dan w menulis buffer pola ke file output “output.txt”

$ sed -n '1w output.txt' thegeekstuff.txt

$ cat output.txt
1. Linux - Sysadmin, Scripting etc.

2. Tulis baris pertama &terakhir file

Dalam contoh ini, 1 dan $ masing-masing merujuk baris pertama dan terakhir.

$ sed -n -e '1w output.txt' -e '$w output.txt' thegeekstuff.txt

$ cat output.txt
1. Linux - Sysadmin, Scripting etc.
10.Windows- Sysadmin, reboot etc.

3. Tulis baris yang cocok dengan pola Storage atau Sysadmin

Dalam contoh ini perintah sed menulis baris yang cocok dengan pola “Storage” atau “Sysadmin”.

$ sed -n -e '/Storage/w output.txt' -e '/Sysadmin/w output.txt' thegeekstuff.txt

$ cat output.txt
1. Linux - Sysadmin, Scripting etc.
5. Storage
10.Windows- Sysadmin, reboot etc.

4. Tulis baris dari mana polanya cocok hingga akhir file

Dalam contoh ini, /Storage/,$ mewakili kecocokan baris dari Storage hingga akhir file.

$ sed -n '/Storage/,$w output.txt' thegeekstuff.txt

$ cat output.txt
5. Storage
6. Cool gadgets and websites
7. Productivity (Too many technologies to explore, not much time available)
8. Website Design
9. Software Development
10.Windows- Sysadmin, reboot etc.

5. Tulis baris yang cocok dengan pola dan dua baris berikutnya dari yang cocok

Dalam contoh ini, perintah kirim menulis baris yang cocok untuk "Penyimpanan" dan dua baris di sebelahnya.

$ sed -n '/Storage/,+2w output.txt' thegeekstuff.txt

$ cat output.txt
5. Storage
6. Cool gadgets and websites
7. Productivity (Too many technologies to explore, not much time available)

Linux
  1. Bagaimana cara menulis integer ke file biner menggunakan Bash?

  2. Bagaimana Cara Menambahkan File di C, menggunakan Open in O_APPEND Mode di linux?

  3. Bagaimana cara memasukkan teks ke baris pertama file menggunakan sed?

  1. Bagaimana Cara Mengganti String Dalam File?

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

  3. Bagaimana cara mengubah file di tempat menggunakan awk? (seperti halnya sed -i)

  1. Tutorial Unix Sed:Cara Mengeksekusi Beberapa Perintah Sed

  2. Cara Menangkap Output Perintah Teratas Unix ke File dalam Format yang Dapat Dibaca

  3. Bagaimana cara menulis stderr ke file saat menggunakan tee dengan pipa?