В текстовом документе я хочу объединить каждую следующую строку со следующей. Я полагаю, что sed - это то, что нужно использовать? Как это будет сделано?
Это проще всего использовать paste:
paste
paste -s -d' \n' input.txt
Хотя есть Famous Sed One-Liner (38) для эмуляции, как в ответ потонга .
Если вы действительно не настаиваете на том, чтобы его нужно было использовать, просто пропустите его через
paste -d" " - -
Это может работать для вас:
seq 10 | sed '$!N;s/\n/ /' 1 2 3 4 5 6 7 8 9 10
Если строка не последняя, добавьте следующую строку к текущей строке и замените новую строку пробелом.
awk
awk '{getline b;printf("%s %s\n",$0,b)}' file
[jaypal:~/Temp] seq 11 > file [jaypal:~/Temp] awk '{getline b;printf("%s %s\n",$0,b)}' file 1 2 3 4 5 6 7 8 9 10 11
Что вы подразумеваете под «в текстовом документе»? Если вы редактируете файл с помощью vim, вы можете сделать:
:g/./normal J