Linux / 명령어 / fold - 긴 행을 지정한 너비로 나누기
fold는 입력의 긴 행을 지정한 폭에서 여러 줄로 접어 출력합니다. 문단을 자연스럽게 재편집하는 fmt와 달리 행의 표시 폭을 제한하는 데 초점이 있습니다.
fold 명령어란?
기본 너비는 80열입니다. -s를 쓰면 가능한 경우 단어 사이 공백에서 줄을 나눕니다. 원본의 줄바꿈은 유지하고, 결과만 표준 출력으로 보냅니다.
기본 문법
fold [옵션] [파일 ...]
설치된 구현과 옵션은 배포판에 따라 다를 수 있습니다. man fold으로 현재 시스템의 설명을 확인하세요.
사용 예제
기본 너비로 접기
긴 행을 80열 기준으로 나눕니다.
fold long-lines.txt
폭을 60으로 지정
터미널이나 문서 폭에 맞춰 출력합니다.
fold -w 60 long-lines.txt
단어 경계 우선
가능하면 공백에서 접어 단어 중간이 끊기는 일을 줄입니다.
fold -s -w 60 paragraph.txt
고정 폭으로 나눈 출력 보기
fold -w 4는 행을 지정 폭으로 접습니다. 아래 문자열은 공백이 없으므로 네 글자마다 새 행이 생깁니다.
printf 'abcdefghij\n' | fold -w 4
예시 출력:
abcd efgh ij
단어를 가능한 한 끊지 않으려면 -s 옵션을 검토하세요. 다만 fold는 문단을 자연스럽게 다시 배치하는 fmt와 다릅니다. 탭·다중 바이트 문자·표시 폭이 넓은 글자가 있는 입력에서는 화면 너비와 바이트 수의 차이를 고려해야 합니다.
주요 옵션과 형식
| 옵션·형식 | 설명 |
|---|---|
-w N |
출력 줄의 최대 너비를 지정합니다. |
-s |
가능하면 공백 위치에서 줄을 나눕니다. |
-b |
화면 열 대신 바이트 수 기준으로 너비를 셉니다. |
사용할 때 주의할 점
-b는 UTF-8 문자 중간에서 끊을 수 있으므로 다국어 텍스트에 무심코 쓰지 마세요. 터미널의 실제 문자 폭과 이모지 표시 폭은 환경에 따라 다를 수 있습니다. 데이터의 원래 행이 의미가 있으면 접힌 결과를 다시 데이터 입력으로 사용하지 않는 편이 안전합니다.
자주 묻는 질문
fold와 fmt는 어떻게 다른가요?
fold는 각 행의 길이를 제한하고, fmt는 일반 텍스트 문단의 줄바꿈을 다시 구성합니다.
공식 문서
옵션의 정확한 동작과 구현별 차이는 fold 관련 공식 문서에서 확인할 수 있습니다.









