Замените все новые строки для интервала кроме последнего

Поскольку автор stdbuf позволил мне направить Вас к "stdio проблемный раздел" буферизации ввода по http://www.pixelbeat.org/programming/stdio_buffering/

41
09.02.2014, 00:30
5 ответов

Можно использовать paste -s -d ' ' file.txt:

$ cat file.txt
one line
another line
third line
fourth line

$ paste -s -d ' ' file.txt 
one line another line third line fourth line
46
27.01.2020, 19:35
  • 1
    Охладитесь! -s и -d опции походят сделанный для этого случая. –  mkc 09.02.2014, 00:08

Можно использовать tr заменять все новые строки, чтобы расположить с интервалами и передать вывод sed и замените последнее пространство назад к новой строке:

tr '\n' ' ' < afile.txt | sed '$s/ $/\n/'
10
27.01.2020, 19:35

Перереализация идеи vonbrand в Perl, если файл является достаточно маленьким:

perl -p00e 's/\n(?!\Z)/ /g' your_file
5
27.01.2020, 19:35

Что-то как sed -e 's;\n\(.\); \1;' должен сделать...

-1
27.01.2020, 19:35

Это сработало для меня.

tr '\n' ' ' < file_with_new_line   | sed 's/\ $//g' > file_with_space
-1
27.01.2020, 19:35

Теги

Похожие вопросы