Linux / 명령어 / fmt - 일반 텍스트 문단의 줄바꿈 조정
fmt는 일반 텍스트 문단의 줄 길이를 다시 맞춰 읽기 쉬운 형태로 출력합니다. 줄바꿈이 제각각인 메모나 초안을 정리할 때 사용할 수 있습니다.
fmt 명령어란?
문단을 재배치하는 도구이므로 의미 있는 줄 경계가 있는 소스 코드, CSV, Markdown 표나 로그에는 적합하지 않습니다. 원본 파일은 기본적으로 수정하지 않고 조정된 텍스트를 출력합니다.
기본 문법
fmt [옵션] [파일 ...]
설치된 구현과 옵션은 배포판에 따라 다를 수 있습니다. man fmt으로 현재 시스템의 설명을 확인하세요.
사용 예제
기본 문단 정리
입력 문단의 줄을 일반적인 읽기 폭으로 재배치합니다.
fmt notes.txt
줄 폭 지정
약 60열을 목표로 문단을 다시 접습니다.
fmt -w 60 draft.txt
출력 별도 저장
원본을 유지하고 결과를 새 파일에 저장합니다.
fmt -w 72 draft.txt > draft-formatted.txt
문단을 다시 접은 결과 이해하기
fmt는 단순히 지정 폭에서 자르는 것이 아니라 문단의 단어 사이를 다시 배치합니다. 아래 예제는 긴 한 행을 폭 20자 안팎의 여러 행으로 만듭니다.
printf 'one two three four five six\n' | fmt -w 20
예시 출력(단어 배치는 구현과 옵션에 따라 달라질 수 있음):
one two three four five six
fmt는 단어를 무조건 중간에서 자르는 도구가 아닙니다. 고정 폭으로 문자 위치를 자르려면 fold를 사용하세요. 코드, 표, 들여쓰기처럼 공백 구조가 중요한 텍스트에는 문단 재배치를 적용하기 전에 결과를 미리 확인해야 합니다.
주요 옵션과 형식
| 옵션·형식 | 설명 |
|---|---|
-w N |
목표 줄 너비를 N열로 지정합니다. |
-s |
짧은 줄을 합치지 않고 긴 줄만 나눕니다. |
-u |
단어 간격을 균일하게 조정합니다. |
-p 접두어 |
지정한 접두어가 있는 행만 대상으로 삼습니다. |
사용할 때 주의할 점
fmt는 서식의 의미를 알지 못하므로 목록 들여쓰기, 코드 블록, 인용문이 있는 문서는 결과를 검토해야 합니다. 문자 폭이 화면에서 보이는 폭과 다를 수 있으므로 한글·넓은 문자 입력도 확인하세요.
자주 묻는 질문
fmt가 원본 파일을 고치나요?
아니요. 기본은 결과를 표준 출력에 보냅니다. 별도 파일로 저장한 뒤 확인하세요.
공식 문서
옵션의 정확한 동작과 구현별 차이는 fmt 관련 공식 문서에서 확인할 수 있습니다.









