Cara Mengganti Talian Baru dengan Koma Menggunakan Perintah `sed`

How Replace Newline With Comma Using Sed Command



Mana-mana watak atau rentetan boleh diganti dengan menggunakan perintah `sed`. Kadang kala, kita perlu mengganti watak barisan baru ( n) dalam fail dengan koma. Dalam artikel ini, kami menggunakan perintah `sed` untuk menggantikan n dengan koma.

Menggunakan `sed` untuk menggantikan n dengan koma

Banyak masalah boleh berlaku semasa mengganti n dengan koma. Secara lalai, setiap baris berakhir dengan n semasa membuat fail. Perintah `sed` dapat berpisah dengan mudah n dan menggantikan barisan baru dengan watak apa pun. Pembatas lain boleh digunakan sebagai ganti n, tetapi hanya apabila GNU sed digunakan. Apabila n tiada di baris terakhir fail, GNU sed dapat mengelakkan pencetakan n. Selanjutnya, n biasanya ditambahkan pada setiap output `sed` berturut-turut.







Buat Fail

Dalam artikel ini, kami akan menunjukkan kepada anda cara menggunakan perintah `sed` untuk menggantikan n dengan koma. Untuk mengikuti tutorial ini, buat fail teks bernama Pelanggan.txt dengan maklumat pelanggan jadual berikut.



ID Nama E-mel Telefon
c01 Md. Rakib [dilindungi e-mel] 01856233238
c02 Meher Afroze [dilindungi e-mel] 01733536342
c03 Fakrul Ahsan [dilindungi e-mel] 01934737248
c04 Helal Uddin [dilindungi e-mel] 01534895898
c05 Nusrat Jahan [dilindungi e-mel] 01866345254

Contoh 1: Gantikan n dengan koma menggunakan -z

Pilihan -z digunakan untuk menukar n ke watak null ( 0). Kandungan fail dianggap sebagai satu baris jika tidak mengandungi watak kosong. Perintah `sed` akan menukar baris baru menjadi watak null dan mengganti setiap n dengan koma dengan menggunakan corak carian dan ganti pertama. Di sini, ā€˜gā€™ digunakan untuk mencari n secara global. Dengan corak carian dan ganti kedua, koma terakhir akan digantikan dengan n.



$kucingPelanggan.txt

$sed -Dengan 's / n /, / g; s /, $ / n /'Pelanggan.txt

Output berikut akan dihasilkan setelah menjalankan perintah.





Contoh 2: Gantikan n dengan koma menggunakan a, b, $! dan N

Perintah `sed` dapat digunakan untuk menggantikan n dengan koma dengan menggunakan a, b, N, dan $! . Di sini, ke digunakan untuk menambahkan tugas, b digunakan untuk mencabut kandungan, N digunakan untuk pergi ke baris seterusnya, dan $! digunakan untuk mengelakkan tugas penggantian diterapkan ke baris terakhir. Perintah akan menggantikan masing-masing n dengan koma kecuali baris terakhir.



$kucingPelanggan.txt

$sed ': a; N; $! ba; s / n /, / g'Pelanggan.txt

Output berikut akan dihasilkan setelah menjalankan perintah.

Contoh 3: Gantikan n dengan koma menggunakan H, h, d, x dan y

Sekiranya anda mahu mengganti n) dengan koma dalam fail kecil, maka perintah `sed` berikut dapat digunakan. Di sini, H digunakan untuk menambahkan baris terakhir ke teks penahan, 1 jam digunakan untuk menyalin setiap baris fail ke teks penahan dari baris pertama, $! d digunakan untuk menghapus semua baris kecuali baris terakhir, x digunakan untuk menukar ruang teks dan corak penahan, dan dan digunakan untuk menggantikan masing-masing n dalam teks penahan dengan koma.

$kucingPelanggan.txt

$sed 'H; 1j; $! D; x; y / n /, /'Pelanggan.txt

Output berikut akan dihasilkan setelah menjalankan perintah.

Contoh 4: Gantikan n dengan koma menggunakan -n, H, h, g dan p

Perintah `sed` boleh digunakan untuk menggantikan n dengan koma dengan -n pilihan, yang menghalang pencetakan automatik. Seperti contoh sebelumnya, H digunakan di sini untuk menambahkan baris terakhir ke teks penahan, 1jam digunakan untuk menyalin setiap baris fail ke teks penahan, $ merujuk pada baris terakhir fail, g digunakan untuk menyalin dari teks penahan, dan hlm digunakan untuk mencetak.

$kucingPelanggan.txt

$sed-n'H; 1j;${g; s / n/, / g; p} 'Pelanggan.txt

Output berikut akan dihasilkan setelah menjalankan perintah di atas.

Contoh 5: Gantikan n dengan koma menggunakan H, x, p

H, x, dan p telah dijelaskan dalam contoh sebelumnya. Ekspresi carian dan penggantian pertama akan menggantikan masing-masing n dengan koma, dan ungkapan kedua dan ganti ungkapan akan menggantikan koma pada awal baris dengan spasi.

$kucingPelanggan.txt

$sed-n'H; $ {x; s / n /, / g; s / ^, //; p;}'Pelanggan.txt

Output berikut akan dihasilkan setelah menjalankan perintah di atas.

Contoh 6: Gantikan n dengan koma menggunakan N dan `cat`

Perintah `cat` digunakan di sini untuk menghantar kandungan fail ke perintah` sed`, dan N digunakan untuk bergerak ke baris seterusnya.

$kucingPelanggan.txt

$kucingPelanggan.txt| sed 'N; s / n /, /'

Output berikut akan dihasilkan setelah menjalankan perintah di atas.

Kesimpulannya

Mungkin perlu diganti n dengan koma untuk memindahkan data dari satu format fail ke format lain. Jenis penggantian ini juga dapat dilakukan dengan menggunakan perintah Linux yang lain. Banyak pilihan arahan, seperti H, N, h, dan x, dapat digunakan dengan perintah `sed` untuk menyelesaikan tugas ini. Tutorial ini membincangkan beberapa cara untuk menggunakan perintah `sed` untuk menggantikan n dengan koma.