Basitçe kullanın cat
(eğer kedileri seviyorsanız ;-)) ve paste
:
cat file.in | paste -d, - - > file.out
Açıklama: paste
birkaç dosyadan okur ve karşılık gelen satırları birbirine yapıştırır (satır 1'den ilk dosyadan satır 1 ile ikinci dosyadan vb.):
paste file1 file2 ...
Bir dosya adı yerine, -
(tire) kullanabiliriz . paste
ilk satırı file1'den alır (stdin). Ardından, ilk satırı file2'den okumak ister (aynı zamanda stdin). Bununla birlikte, stdin'in ilk satırı zaten okundu ve işlendiğinden, giriş akışında şu an beklediği şey, ilk önce mutlu bir şekilde yapıştırılan stdin'in ikinci satırıdır paste
. -d
Seçenek virgül yerine bir sekme olması sınırlayıcı ayarlar.
Alternatif olarak, yapmak
cat file.in | sed "N;s/\n/,/" > file.out
Ps evet, bir yukarıdaki için basitleştirebilirsiniz
< file.in sed "N;s/\n/,/" > file.out
veya
< file.in paste -d, - - > file.out
kullanmama avantajına sahiptir cat
.
Ancak, bu deyimi bilerek kullanmamıştım , açıklık nedenleriyle - daha az ayrıntılı ve hoşuma gidiyor cat
(CATS ARE NICE). Lütfen düzenleme yapmayın.
Alternatif olarak, kedilere yapıştırmayı tercih ederseniz (yapıştırma, dosyaları yatay olarak birleştirmenin komutudur, cat bunları dikey olarak birleştirirken), şunları kullanabilirsiniz:
paste file.in | paste -d, - -