Bash printf 함수: Linux를 위한 7가지 예제

Bash printf 함수: Linux를 위한 7가지 예제

상당한 시간 동안 Bash 셸을 사용해 왔다면 echo 명령을 사용하여 Linux 터미널에서 문자열을 인쇄하는 방법을 알고 있을 것입니다. 그러나 printf 명령을 사용하면 특정 형식의 텍스트를 훨씬 쉽게 인쇄할 수 있습니다.





오늘 우리는 Bash 스크립팅 기술을 향상시키기 위해 printf 함수를 사용하는 방법을 배울 것입니다.





Bash printf 기능이란 무엇입니까?

이름에서 알 수 있듯이 printf는 형식이 지정된 텍스트 문자열을 인쇄하는 함수입니다. 즉, 문자열 구조(형식)를 작성하고 나중에 값(인수)으로 채울 수 있습니다.





C/C++ 프로그래밍 언어에 익숙하다면 printf가 어떻게 작동하는지 이미 알고 있을 것입니다. Bash 셸의 Printf는 매우 유사하지만 몇 가지 작은 차이점이 있습니다.

더 알아보기: C++ 프로그래밍을 시작하기 위한 최고의 사이트



Bash 셸에서 printf를 사용하는 방법

printf의 기본 구문은 다음과 같습니다.

printf format [argument]

Printf는 다음을 인쇄합니다. 체재 구현하는 동안 문자열 누출 ( ) 그리고 지시 ( % ) 지정된 사용을 통해 인수 . 다음 명령의 출력을 확인합니다.





$ printf 'Hello, %s' world
Hello, world

Printf는 세계 인수 및 대체 %NS 지정된 문자열의 문자를 포함합니다.

출력 후에 Bash가 새 줄을 생성하지 않는다는 것을 알 수 있습니다. echo 명령과 달리 printf는 출력이 인쇄된 후 새 줄을 원한다고 가정하지 않습니다. 따라서 새 줄 문자를 사용해야 합니다. N 각 인스턴스에서.





문자열을 인쇄한 다음 새 줄로 이동하려면 다음을 입력하십시오. printf '안녕하세요, 세계 ' .

Hello, world

printf는 모든 인수에 대해 형식을 재사용하려고 시도한다는 점을 명심하는 것이 중요합니다. 이것을 유용하게 사용할 수 있지만 주의하지 않으면 다음과 같은 결과가 나타날 수 있습니다.

$ printf 'My name is %s ' Jordan Gloor
My name is Jordan My name is Gloor

또한 인수가 누락된 경우 printf는 지시문을 다음과 같이 해석합니다. 0 (숫자에 대해) 및 없는 (문자열의 경우).

$ printf 'Hello, %s.'
Hello, .

이제 Linux에서 printf를 사용한 Bash 스크립팅이 작동하는 방식을 알았으므로 명령에서 사용할 준비가 되었습니다.

Linux Bash printf 예제

Printf는 스크립트에서 사용할 수 있는 많은 형식 지정자를 제공합니다. 그러나 오늘 우리는 함수에 대한 몇 가지 일반적인 것들만 다룰 것입니다.

1. 문자열로 출력 형식 지정

텍스트 문자열로 출력 형식을 지정하려면 다음을 사용하십시오. %NS 지령.

$ printf '%s is one of the largest online %s.' MUO 'technology publications'
MUO is one of the largest online technology publications.

2. 십진수로 출력 문자열 형식 지정

문자열을 정수로 형식화하려면 다음을 사용할 수 있습니다. %NS 부호 있는 십진수에 대한 지시문.

$ printf 'MUO was founded in %d.' 2007
MUO was founded in 2007.

출력에 부호 없는 십진수를 사용하려면 다음을 사용해야 합니다. % 유 대신 지시.

안드로이드가 작동하지 않는 usb c to hdmi

관련된: Linux에서 'Bash'는 무엇을 의미합니까?

3. printf를 사용하여 수학 함수 출력하기

printf 명령으로 수학 함수의 형식을 지정하는 것은 쉽습니다. Bash에서 일반적으로 하는 것처럼 이중 괄호 안에 표현식을 배치하고 인수 목록에 표현식을 지정하십시오.

$ printf '1 + 1 is %d' $((1+1))
1 + 1 is 2

4. 16진수 형식 지정

16진수 형식을 지정해야 하는 경우 다음을 사용하십시오. % NS 소문자 및 % NS 대문자의 경우.

$ printf %X 1000
3E8C

현재 날짜와 시간을 인쇄하려면 printf를 다음과 결합할 수 있습니다. 데이트 명령하고 다음 지시문을 전달합니다.

$ printf '%(%m-%d-%Y %H:%M:%S)T' $(date +%s)
03-26-2021 15:27:57

앞서 언급한 출력에서 ​​월, 일, 년, 시, 분, 초에 대한 형식 지정자를 볼 수 있습니다.

6. 유니코드 문자로 문자열 포맷하기

printf를 사용하여 유니코드 문자를 인쇄하려면 다음을 사용하십시오. 16비트 유니코드에 대한 이스케이프 및 32비트 유니코드용.

예를 들어 다음을 인쇄할 수 있습니다. 저작권 다음 명령으로 기호:

$ printf 'u00A9'
©

7. 출력에 간격 추가

지시문 지정자 앞에 인쇄되는 최소 문자 수를 정의하여 문자열의 서식을 공백으로 지정할 수 있습니다. 사용하지 않는 문자는 공백으로 채워집니다.

예를 들어, printf '%s:%5d ' '값 1' 25 '값 2' 120 출력합니다:

Value 1: 25
Value 2: 120

NS %5d 출력의 형식 지정자는 형식이 지정된 문자열에 최소 5개의 문자가 포함됨을 나타냅니다. 25는 두 자리 숫자만 있으므로 나머지 문자에 공백이 추가됩니다.

너비로 음수를 전달하면 지시문이 오른쪽 맞춤 대신 왼쪽 맞춤이 됩니다.

$ printf '%-10s: %d ' 'Circles' 25 'Boxes' 120
Circles : 25 Boxes : 120

너비를 변수로 만들려면 숫자 대신 별표를 전달할 수 있으며 printf는 인수 목록에서 찾은 다음 숫자를 사용합니다.

$ printf '%*s: %d ' -10 'Circles' 25 -10 'Boxes' 120
Circles : 25 Boxes : 120

관련된: Linux의 Bash For Loops에 대해 알아야 할 모든 것

Linux printf 명령 배우기

Bash 스크립팅 유틸리티 벨트의 printf 명령을 사용하면 터미널에서 복잡하고 다양한 문자열을 인쇄할 준비가 된 것입니다. Bash 스크립트를 개발할 때 가능한 가장 생산적인 환경에서 작업하고 있는지 확인하는 것이 중요합니다. 이렇게 하면 명령줄 기술이 향상될 뿐만 아니라 전반적인 워크플로도 향상됩니다.

공유하다 공유하다 트위터 이메일 개발자를 위한 10가지 최고의 Linux 배포판

오픈 소스 운영 체제에서 개발을 시작할 준비가 되셨습니까? 다음은 프로그래밍을 위한 최고의 Linux 배포판입니다.

내 페이스북 비밀번호 어떻게 알아
다음 읽기 관련 항목
  • 리눅스
  • 리눅스 배시 쉘
  • 리눅스 명령어
저자 소개 조던 글로어(51건의 기사 게재)

Jordan은 모든 사람이 Linux에 액세스할 수 있고 스트레스 없이 사용할 수 있도록 하는 데 열정적인 MUO의 스태프 라이터입니다. 그는 또한 개인 정보 보호 및 생산성에 대한 가이드를 작성합니다.

조던 글로어의 작품 더보기

뉴스레터 구독

기술 팁, 리뷰, 무료 전자책 및 독점 거래에 대한 뉴스레터에 가입하십시오!

구독하려면 여기를 클릭하세요.