Saya memiliki file teks, di mana catatan dibagi menjadi dua baris. Saya ingin menempatkan mereka pada satu baris. Catatan terlihat seperti ini:
2013-07-29
apt-get install git
2013-07-29
apt-get install rsync
2013-07-31
apt-get install nmap
2013-08-02
apt-get install cifs-utils
2013-08-05
apt-get install telnet
Saya ingin mendapatkan yang berikut ini:
2013-07-29 apt-get install git
2013-07-29 apt-get install rsync
2013-07-31 apt-get install nmap
2013-08-02 apt-get install cifs-utils
2013-08-05 apt-get install telnet
Saya sudah mencoba sed
, tetapi saya tidak dapat mencocokkan dua baris. Apakah ada trik sed
, atau ada alat yang lebih baik?
text-processing
sed
Martin Vegter
sumber
sumber
Jawaban:
N
bergabung dengan jalur input berikutnya ke ruang polas/\n/ /
mengganti baris baru yang memisahkan garis dengan spasi.atau:
-n
menonaktifkan pencetakan ruang pola secara otomatis sebagai perintah terakhir/regex/p
mencetak garis yang cocok dengan regexGunakan
g
pengubah untuk penggantian jika Anda bergabung lebih dari dua baris, misalnyaN;N;N;s/\n/ /g
.sumber
sed 's/>\n</>,</'
bekerja sampai saya menyadari bahwa sed bekerja pada garis pada satu waktu. satu pencarian duckduckgo cepat dan @peterph memungkinkan saya untuk menjaga sisa rambut sayaTampaknya
apt-get
garis - garis tersebut memiliki spasi putih sebelumnya. Pepatah:harus menghasilkan hasil yang diinginkan.
Atau, Anda juga dapat menggunakan
paste
:sumber