Karakter atau string apa pun dapat diganti dengan menggunakan perintah 'sed'. Terkadang, kita perlu mengganti karakter baris baru (\n) dalam file dengan koma. Dalam artikel ini, kami menggunakan perintah 'sed' untuk mengganti \n dengan koma.
Menggunakan 'sed' untuk mengganti \n dengan koma
Banyak masalah dapat terjadi saat mengganti \n dengan koma. Secara default, setiap baris diakhiri dengan \n saat membuat file. Perintah 'sed' dapat dengan mudah dipecah pada \n dan mengganti baris baru dengan karakter apa pun. Pembatas lain dapat digunakan sebagai pengganti \n, tetapi hanya jika GNU sed digunakan. Ketika \n hilang di baris terakhir file, GNU sed dapat menghindari pencetakan \n. Selanjutnya, \n biasanya ditambahkan ke setiap keluaran 'sed' yang berurutan.
Buat File
Dalam artikel ini, kami akan menunjukkan cara menggunakan perintah 'sed' untuk mengganti \n dengan koma. Untuk mengikuti tutorial ini, buat file teks bernama klien.txt dengan informasi klien tabel berikut following.
Indo | Nama | Surel | Telepon |
---|---|---|---|
c01 | Md. Rakib | [dilindungi email] | 01856233238 |
c02 | Meher Afroze | [dilindungi email] | 01733536342 |
c03 | Fakrul Ahsan | [dilindungi email] | 01934737248 |
c04 | Helal Uddin | [dilindungi email] | 01534895898 |
c05 | Nusrat Jahan | [dilindungi email] | 01866345254 |
Contoh 1: Ganti \n dengan koma menggunakan -z
Opsi -z digunakan untuk mengonversi \n ke karakter nol (\0). Konten file diperlakukan sebagai satu baris jika tidak mengandung karakter nol. Perintah 'sed' akan mengubah baris baru menjadi karakter nol dan mengganti setiap \n dengan koma dengan menggunakan pola pencarian dan penggantian pertama. Di sini, 'g' digunakan untuk mencari \n . secara global. Dengan pola pencarian dan penggantian kedua, koma terakhir akan diganti dengan \n.
$Klien kucing.txt$ sed -z 's/\n/,/g;s/,$/\n/' Klien.txt
Output berikut akan dihasilkan setelah menjalankan perintah:.
Contoh 2: Ganti \n dengan koma menggunakan a, b, $! dan N
Perintah 'sed' dapat digunakan untuk mengganti \n dengan koma dengan menggunakan a, b, N, dan $!. Sini, Sebuah digunakan untuk menambahkan tugas, b digunakan untuk mencabangkan konten, tidak digunakan untuk pergi ke baris berikutnya, dan $! digunakan untuk mencegah tugas penggantian diterapkan ke baris terakhir. Perintah akan menggantikan masing-masing \n dengan koma kecuali baris terakhir.
$Klien kucing.txt$ sed ':a;N;$!ba;s/\n/,/g' Klien.txt
Output berikut akan dihasilkan setelah menjalankan perintah:.
Contoh 3: Ganti \n dengan koma menggunakan H, h, d, x dan y
Jika Anda ingin mengganti \n) dengan koma dalam file kecil, maka perintah 'sed' berikut dapat digunakan. Sini, H digunakan untuk menambahkan baris terakhir ke teks penahan, 1h digunakan untuk menyalin setiap baris file ke teks penahan dari baris pertama, $!d digunakan untuk menghapus semua baris kecuali baris terakhir, x digunakan untuk menukar teks dan ruang pola, dan kamu digunakan untuk menggantikan setiap \n dalam memegang teks dengan koma.
$Klien kucing.txt$ sed 'H;1j;$!d;x;y/\n/,/' Klien.txt
Output berikut akan dihasilkan setelah menjalankan perintah:.
Contoh 4: Ganti \n dengan koma menggunakan -n ,H, h, g dan p
Perintah 'sed' dapat digunakan untuk menggantikan \n dengan koma dengan -tidak opsi, yang mencegah pencetakan otomatis. Seperti pada contoh sebelumnya, H digunakan di sini untuk menambahkan baris terakhir ke teks induk, 1 jam digunakan untuk menyalin setiap baris file ke teks induk, $ mengacu pada baris terakhir file, g digunakan untuk menyalin dari teks induk, dan p digunakan untuk mencetak.
$Klien kucing.txt$ sed -n "H;1h;\$g;s/\n/,/g;p" Klien.txt
Output berikut akan dihasilkan setelah menjalankan perintah di atas:.
Contoh 5: Ganti \n dengan koma menggunakan H, x, p
H, x, dan p telah dijelaskan pada contoh sebelumnya. Ekspresi pencarian dan penggantian pertama akan menggantikan masing-masing \n dengan koma, dan ekspresi pencarian dan penggantian kedua akan menggantikan koma di awal baris dengan spasi.
$Klien kucing.txt$ sed -n 'H;$x;s/\n/,/g;s/^,//;p;' Klien.txt
Output berikut akan dihasilkan setelah menjalankan perintah di atas:.
Contoh 6: Ganti \n dengan koma menggunakan N dan 'cat'
Perintah 'cat' digunakan di sini untuk mengirim konten file ke perintah 'sed', dan tidak digunakan untuk pindah ke baris berikutnya.
$Klien kucing.txt$Klien kucing.txt | sed 'N;s/\n/,/'
Output berikut akan dihasilkan setelah menjalankan perintah di atas:.
Kesimpulan
Mungkin perlu mengganti \n dengan koma untuk mentransfer data dari satu format file ke format lainnya. Jenis penggantian ini juga dapat dilakukan dengan menggunakan perintah Linux lainnya. Banyak opsi perintah, seperti H, N, h, dan x, dapat digunakan dengan perintah 'sed' untuk menyelesaikan tugas ini. Tutorial ini membahas beberapa cara menggunakan perintah 'sed' untuk mengganti \n dengan koma.