Соединение двух последовательных линий с помощью awk или sed
Как бы я соединил две линии, используя awk или sed?
for e.g.:
У меня есть данные, которые выглядят так:
abcd
joinabcd
efgh
joinefgh
ijkl
joinijkl
Мне нужен выход, как тот, что ниже:
joinabcdabcd
joinefghefgh
joinijklijkl
Ответы - Соединение двух последовательных линий с помощью awk или sed / Joining two consecutive lines using awk or sed


line[i++]=$0
вместо line[i++]=$1
.Но очень хороший ответ Спасибо:)






awk 'END{if((NR%2))print p}!(NR%2){print$0p}{p=$0}'

10.06.2014 09:09:09
Некоторые улучшения к сценарию " sed " выше, что займет следующее:
Одна тысяча восемь
-2734406.132904
Две тысячи восемьсот сорок шесть
-2734414.838455
Четыре тысячи шестьсот тридцать шесть
-2734413.594009
Шесть тысяч четыреста пятьдесят шесть
-2734417.316269
Восемь тысяч двести семьдесят шесть
-2734414.779617
and make it :
1008 -2734406.132904
2846 -2734414.838455
4636 -2734413.594009
6456 -2734417.316269
8276 -2734414.779617
the "sed" is : "sed 'h;s/.*//;G;N;s/\n/ /g'"

15.09.2015 08:18:23
Они говорят, что подражание-это самая искренняя форма лести.
Вот решение Perl, вдохновленное кодом awk Дмитрия:
perl -lne 'print "$_$p" if $. % 2 == 0; $p = $_' infile
$_
- это текущая строка
$.
это номер строки

30.01.2018 09:20:11
Вы можете использовать printf с тернарным:
awk '{printf (NR%2==0) ? $0 "\n" : $0}'
