1-е решение: Не могли бы вы попробовать следующее, протестировано с предоставленными образцами и написано с GNU awk
.
awk -v FS="\n" -v RS="^$" '{for(i=1;i<=NF;i+=4){print $i,$(i+2)}}' Input_file
2-е решение: ИЛИ, приведенное выше, НЕ будет иметь дело с пробелами, начинающимися в начале строк, в случае, если вы хотите удалить те пробелы, которые были у нас раньше (UNIX - Система V), затем попробуйте следующее.
awk -v FS="\n" -v RS="^$" '
BEGIN{
OFS="\t"
}
{
for(i=1;i<=NF;i+=4){
sub(/^ +/,"",$i)
sub(/^ +/,"",$(i+2))
print $i,$(i+2)
}
}
' Input_file
3-е решение: Должно работать в NON GNU awk
, протестировано и написано с предоставленными образцами по ОП.
awk '
value==""{
value=$0
next
}
NF && value{
sub(/^ +/,"")
print value,$0
value=""
}
' Input_file