Как я могу использовать инструменты обработки текста для вставки новой строки после каждых N строк?
Пример для N = 2:
ВХОД:
sadf
asdf
yxcv
cxv
eqrt
asdf
ВЫХОД:
sadf
asdf
yxcv
cxv
eqrt
asdf
text-processing
LanceBaynes
источник
источник
[[ ]]
испытанию:while read line; do echo "$line"; ((lines++ % 2)) && echo; done
.sed '0~2 a\ '
добавляет пробел к каждой вставленной новой строке. Если вы хотите добавить новую строку после каждой строки, любой из этой аналогично работы:sed '0~1 a\ '
,sed 'a\ '
или простоsed G
.С помощью
paste
источник
... это все, что тебе нужно ...
Например:
ВЫХОД:
... (и пробел также следует за 6) ... или ...
ВЫХОД:
(и не следует пробела после 5)
Если пробел всегда должен быть пропущен в последнем случае строки:
источник
Еще один приятный вкус:
источник
Sed (GNU)
С (GNU)
sed
:Короткий (некрасиво для N = 100):
Человек Сед объясняет ~ как:
сед (другое)
С другими sed (считать новые строки):
Или, чтобы быть более переносимым, записывается как (удалите комментарии для некоторых версий sed):
AWK
С
awk
, вероятно:источник