Linux / 명령어 / printf - 지정한 형식으로 값 출력

printf는 형식 문자열에 맞춰 문자열과 숫자를 출력합니다. echo보다 줄바꿈과 열 폭을 명확히 제어할 수 있어 셸 스크립트에서 유용합니다.

printf 명령어란?

Bash에서는 printf가 셸 내장 명령이며 GNU Coreutils의 외부 printf도 존재할 수 있습니다. 실행되는 구현은 type printf로 확인하세요. 자동 줄바꿈이 없으므로 필요한 경우 형식 문자열에 \n을 넣습니다.

기본 문법

printf '형식문자열' [값 ...]

설치된 구현과 옵션은 배포판에 따라 다를 수 있습니다. man printf으로 현재 시스템의 설명을 확인하세요.

사용 예제

문자열과 줄바꿈

%s 자리에 값을 넣고 \n으로 줄을 마칩니다.

printf 'Hello, %s\n' Linux

열 폭 맞추기

왼쪽 정렬 폭과 숫자 폭을 정해 간단한 표를 만듭니다.

printf '%-12s %5d\n' apple 42

여러 값 반복 출력

형식 문자열이 남은 인수에 반복 적용됩니다.

printf '%s\n' one two three

서식 문자열과 실제 출력 비교하기

printf는 서식 지정자에 인수를 순서대로 끼워 넣습니다. %-6s는 문자열을 왼쪽 정렬해 너비 6으로 표시하고 %03d는 정수를 세 자리까지 0으로 채웁니다.

printf '[%-6s] [%03d]\n' apple 7

예시 출력:

[apple ] [007]

서식 문자열 끝의 \n은 줄바꿈입니다. echo와 달리 printf는 자동 줄바꿈을 보장하지 않으므로 필요하면 명시하세요. 사용자 입력을 서식 문자열 자리에 직접 넣으면 %나 백슬래시가 해석될 수 있으니 printf '%s\n' "$value"처럼 고정 서식을 사용합니다.

주요 옵션과 형식

옵션·형식 설명
%s 값을 문자열로 출력합니다.
%d 정수를 십진수로 출력합니다.
%f 실수를 지정한 정밀도로 출력합니다.
\n 형식 문자열 안에서 줄바꿈을 나타냅니다.
%-Ns 문자열을 최소 N칸에 왼쪽 정렬합니다.

사용할 때 주의할 점

사용자 입력을 형식 문자열 자체로 전달하면 % 지정이 해석됩니다. 안전하게 값을 출력하려면 printf '%s\n' "$value"처럼 고정된 형식을 사용하세요. 셸 변수는 인용해 공백과 와일드카드 확장을 막습니다.

자주 묻는 질문

printf는 echo처럼 끝에 줄바꿈을 자동으로 붙이나요?

아니요. 줄을 바꾸려면 \n을 형식 문자열에 직접 넣어야 합니다.

공식 문서

옵션의 정확한 동작과 구현별 차이는 printf 관련 공식 문서에서 확인할 수 있습니다.

외부 명령의 동작은 GNU Coreutils 공식 매뉴얼도 참고하세요.

같은 카테고리의 다른 글
Linux / 명령어 / parted - 파티션 표와 빈 공간 확인·관리

Linux / 명령어 / parted - 파티션 표와 빈 공간 확인·관리

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

Linux / 명령어 / locate - 파일 이름 색인에서 빠르게 경로 검색

Linux / 명령어 / locate - 파일 이름 색인에서 빠르게 경로 검색

Linux locate 명령어로 파일 이름 색인을 빠르게 검색하는 방법을 설명합니다. updatedb, 최신성 한계, 패턴과 정규 표현식, find와의 차이를 정리합니다.

Linux 강좌 / APT와 DNF로 패키지 설치·업데이트하기

Linux 강좌 / APT와 DNF로 패키지 설치·업데이트하기

Debian·Ubuntu의 APT와 Rocky Linux의 DNF로 패키지를 검색·설치·업데이트·제거하는 방법을 비교합니다. 저장소와 의존성, 업데이트 전 확인할 항목을 다룹니다.

Linux / 명령어 / ssh-keygen - SSH 키 쌍 생성과 지문 확인

Linux / 명령어 / ssh-keygen - SSH 키 쌍 생성과 지문 확인

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

Linux / 명령어 / pacman - Arch Linux에서 패키지 설치와 전체 시스템 업데이트

Linux / 명령어 / pacman - Arch Linux에서 패키지 설치와 전체 시스템 업데이트

Linux pacman 명령어의 적용 배포판과 기본 작업을 설명합니다. 패키지 조회·설치 예제, 주요 옵션과 시스템 변경 시 주의점을 알아봅니다.

Linux / 명령어 / more - 텍스트를 화면 단위로 나누어 보기

Linux / 명령어 / more - 텍스트를 화면 단위로 나누어 보기

Linux more 명령어로 긴 텍스트를 화면 단위로 읽는 방법을 설명합니다. 이동과 검색 키, 파이프 사용법, less와의 차이를 함께 정리합니다.

Linux / 명령어 / unalias - 명령어 별칭 삭제

Linux / 명령어 / unalias - 명령어 별칭 삭제

Bash unalias 명령어로 특정 별칭이나 모든 별칭을 제거하는 방법을 설명합니다. 일시 제거와 영구 제거, 별칭 우회 및 함수·변수 삭제와의 차이를 정리합니다.

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

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

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

Linux / 명령어 / alias - 명령어 별칭 만들기

Linux / 명령어 / alias - 명령어 별칭 만들기

Bash alias 명령어로 자주 쓰는 명령과 옵션 조합에 짧은 별칭을 만드는 방법을 설명합니다. 별칭 저장, 우회, 함수와의 차이 및 확장되지 않는 경우도 정리합니다.

Linux / 명령어 / umask - 새 파일·디렉터리 기본 권한 제한

Linux / 명령어 / umask - 새 파일·디렉터리 기본 권한 제한

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