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 관련 공식 문서에서 확인할 수 있습니다.

같은 카테고리의 다른 글
Linux / 명령어 / wc - 줄·단어·문자 수 계산

Linux / 명령어 / wc - 줄·단어·문자 수 계산

Linux wc 명령어로 줄·단어·바이트·문자 수를 확인하는 방법을 설명합니다. 개행 기준의 줄 수, -c와 -m 차이, 여러 파일 합계와 안전한 파이프 활용 예제를 정리합니다.

Linux 강좌 / 배포판 선택하기

Linux 강좌 / 배포판 선택하기

리눅스 입문과 서버 실습에 Ubuntu와 Rocky Linux 중 무엇을 선택하면 좋을까요? 학습 목표, 패키지 관리 방식과 지원 정책을 기준으로 두 배포판을 비교합니다.

Linux 강좌 / 파일과 명령 찾기 - find, locate, which, whereis

Linux 강좌 / 파일과 명령 찾기 - find, locate, which, whereis

find와 locate로 파일을 찾고 which, whereis, type으로 명령의 위치와 해석 방식을 확인합니다. 실시간 검색과 색인 검색의 차이도 짚습니다.

Linux / 명령어 / tracepath - 네트워크 경로와 경로 MTU 확인

Linux / 명령어 / tracepath - 네트워크 경로와 경로 MTU 확인

Linux tracepath 명령어의 기능과 기본 문법을 설명합니다. 실제 사용 예제, 주요 옵션과 작업 전 확인할 점을 알아봅니다.

Linux / 명령어 / csplit - 행 번호·패턴에서 파일 분할

Linux / 명령어 / csplit - 행 번호·패턴에서 파일 분할

Linux csplit 명령어의 기본 문법과 실제 사용 예제를 설명합니다. 주요 옵션과 결과를 해석할 때 주의할 점을 확인할 수 있습니다.

Linux / 리눅스 역사 - 1991년 취미 프로젝트가 세계 인프라가 되기까지

Linux / 리눅스 역사 - 1991년 취미 프로젝트가 세계 인프라가 되기까지

리눅스는 1991년 시작된 커널 프로젝트에서 서버·클라우드·모바일을 떠받치는 기반 기술로 성장했습니다. UNIX와 GNU의 배경부터 배포판과 공동 개발 생태계의 확장까지 핵심 연표로 정리합니다.

Linux / 명령어 / join - 공통 필드로 두 파일 결합

Linux / 명령어 / join - 공통 필드로 두 파일 결합

Linux join 명령어의 기본 문법과 실제 사용 예제를 설명합니다. 주요 옵션과 결과를 해석할 때 주의할 점을 확인할 수 있습니다.

Linux / 명령어 / paste - 파일의 행을 가로로 결합

Linux / 명령어 / paste - 파일의 행을 가로로 결합

Linux paste 명령어의 기본 문법과 실제 사용 예제를 설명합니다. 주요 옵션과 결과를 해석할 때 주의할 점을 확인할 수 있습니다.

Linux / 명령어 / gunzip - gzip 압축 파일 풀기

Linux / 명령어 / gunzip - gzip 압축 파일 풀기

Linux gunzip 명령어의 용도와 기본 문법을 알아봅니다. 파일 처리 예제, 주요 옵션과 원본 보존·덮어쓰기 주의점을 설명합니다.

Linux / 명령어 / xargs - 표준 입력을 명령 인수로 전달

Linux / 명령어 / xargs - 표준 입력을 명령 인수로 전달

Linux xargs 명령어의 기본 문법과 실제 사용 예제를 설명합니다. 주요 옵션과 결과를 해석할 때 주의할 점을 확인할 수 있습니다.