Стандартные инструменты UNIX (например, sed
), по моему мнению, являются недостатком в обработке новых строк.Они предназначены для работы построчно, и может быть довольно сложно сделать такие вещи, как объединение разных строк ввода в одну строку вывода.Может быть, кто-то с более sed
опытом, чем я, мог бы сделать это ... но я бы предложил вместо этого попробовать Perl, если у вас есть доступ к нему.
perl -e 'while (<>) { length || cont; chomp; s/^\s+(\d+)$/ \1\n/; print; }' inputfile.txt
Если вы хотите оставить лишний пробелСтрока между записями, точно так же, как она была отформатирована в вашем вопросе, просто измените \n
на \n\n
(чтобы печатать две строки после каждой записи журнала вместо одной).