Обратите внимание, что я понимаю ваш вопрос о том, как соединить строку 3 до конца строки 1, строку 4 до конца 2, а затем строку 7 до конца 5 и 8 до конца 6и т. д.
Я предполагаю, что у вас действительно есть входной файл, например:
a,b,c
d,e,f
g
h
Если ваш файл действительно с двойным интервалом, вы можете исправить это, используя:
sed '/./!d' FILE
Затем присоединить каждую вторую строку к строке 2 строки перед ней:
cat FILE | sed '/./!d' | awk '
BEGIN {
d[0] = ""; d[1] = ""
}
{
n = NR % 2
if (d[n] == "")
d[n] = $0
else {
print d[n] "," $0
d[n] = ""
}
}
'
Я с удовольствием объясню этот код, если вы спросите.
Кроме того, есливам нужно учитывать возможность того, что файл содержит нечетное количество строк, например
a,b,c
d,e,f
g
h
x,y,z
Добавить блок END в ваш AWK:
END {
if (d[1] != "") print d[1]
if (d[0] != "") print d[0]
}