行に文字未満がある場合は、その行を次の行に関連付ける必要があります。
答え1
GNU sedの使用
入力する
flood
good
good
good
good
good
flood
good
good
新しく結合された行を文字数に含めたい場合
sed ':;/.\{5,\}$/!{N;s/\n/ /g;b}'
flood
good good
good good
good flood
good good
good
各行を個別に計算し、前の行よりも小さい各行を連結する場合
sed ':;/[^\n]\{5,\}$/!{N;$!b};s/\n/ /g'
flood
good good good good good flood
good good good
答え2
$ n=20
$ seq 40 | sed -e :1 -e "/.\{$n\}/!{N;s/\n//;b1" -e '}'
123456789101112131415
16171819202122232425
26272829303132333435
3637383940
または線を接続してに従って20文字(少なくとも20文字の代わりに):
$ seq 40 | fmt -w 20
1 2 3 4 5 6 7 8
9 10 11 12 13 14
15 16 17 18 19 20
21 22 23 24 25 26
27 28 29 30 31 32
33 34 35 36 37 38
39 40
$ seq 40 | par -w20
1 2 3 4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
32 33 34 35 36 37 38
39 40