특정 줄 길이로 출력 형식 지정

특정 줄 길이로 출력 형식 지정

그래서 줄이 80열보다 넓지 않도록 서식을 지정하고 싶은 매우 긴 줄이 포함된 일부 출력이 있지만 단어가 열 제한 내에 있기 때문에 단어를 분할하고 싶지 않습니다.

나는 노력했다

sed 's/.\{80\}/&\n/g' 

하지만 단어를 분할하고 일부 줄을 공백으로 시작하는 데 문제가 있습니다.

textwidth저는 Vim을 사용하여 이를 80으로 설정하고 파일의 시작 부분으로 이동하여 서식 있는 텍스트를 작성하는 데 성공했습니다 gqG. 하지만 차라리 sed, awk또는 유사한 것을 사용하여 스크립트에 포함시키는 것이 좋습니다 .

답변1

사용 방법 fold:

fold -s -w80 file

-s이는 80자( )의 줄 너비를 사용하여 공백( )으로만 분할됩니다 -w80. 따라서 솔루션과 정확히 동일한 작업을 수행 fmt하지만 인터럽트도 허용합니다.어느옵션이 생략된 경우의 문자입니다 -s.

답변2

대신 사용하십시오 fmt:

fmt --width=80 file

에서 man fmt:

-w, --width=WIDTH
              maximum line width (default of 75 columns)

답변3

아래에 언급된 해결 방법이 도움이 될 수 있습니다.

고양이 파일 이름.txt | fmt -w 80 > 파일 이름.txt 단축

fmt - 간단한 최고의 텍스트 포맷터.

관련 정보