줄 길이가 n자 미만인 경우 개행 문자를 제거하는 방법

줄 길이가 n자 미만인 경우 개행 문자를 제거하는 방법

줄에 x자 미만이 있으면 해당 줄을 다음 줄과 연결해야 합니다.

답변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

관련 정보