Pertanyaan kurang lebih mengatakan itu semua. Saya sadar bahwa /^$/d
akan menghapus semua baris kosong, tetapi saya tidak bisa melihat bagaimana mengatakan 'ganti dua atau lebih baris kosong dengan satu baris kosong'
Ada ide?
vim
sed
regular-expression
Andrew Bolster
sumber
sumber
-s
opsi kucing - hanya catatan bersejarah, tidak dalam POSIX, tetapi tampaknya tersedia di kucing BSD dan GNU.:%!cat -s
. Pelajari sesuatu GNnew setiap hari!%s!\n\n\n\+!\r\r!g
Gunakan
\n
untuk menunjukkan baris baru dalam pola pencarian. Gunakan Ctrl+ Mdalam teks pengganti, atau referensi-ulang. Lihat:help pattern
dan:help sub-replace-special
(ditautkan dari:help :s
).sumber
\n
tidak berfungsi dalam teks pengganti.Jika di Vim, lakukan saja ini:
sumber
man
halaman.Menggunakan Perl:
-00
opsi baris perintah mengaktifkan mode slurp paragraf, yang berarti Perl membaca paragraf teks demi paragraf daripada baris demi baris.sumber
Dengan sed (sed GNU) 4.2.2:
sumber
Saya tahu ini adalah kode yang konyol, tetapi saya ingin menyelesaikan masalah ini dalam waktu kurang dari 10 menit, dan itu berhasil
sumber
uniq
menghapus garis sama yang berdekatan. Bukan itu yang diinginkan OP.