리눅스에서의 printf의 활용

URL : https://linuxconfig.org/bash-printf-syntax-basics-with-examples

$ printf "%s\n" "1" "2" "\n3"
1
2
\n3

%b를 사용하면 \n 개행문자를 인식해서 출력한다.

$ printf "%b\n" "1" "2" "\n3"
1
2

3
$

 

%f는 기본적으로 6자리 소수점을 나타낸다.

$ printf "%f\n" 255 0xff 0377 3.5 255.000000 255.000000 377.000000 3.500000

 

.1로 표현하면 소수점 이하 표시구간을 정할수 있다.

$ printf "%.1f\n" 255 0xff 0377 3.5 255.0 255.0 377.0 3.5 printf "%.5f\n" 10.05999

몇번째 자리까지 표시할것 인지 “5”의 수치를 변수로 할당하여 표기도 가능하다

printf "%.*f\n" 2 10.05999

==> 소수점 3째자리에서 반올림하여 10.06 으로 된다.

소수점아래는 반올림으로 표시하지 않기

printf "%.0f\n" $(echo "1066*0.96" | bc)

 

[버림] 구현

echo "26.3553" | sed -r -n "s/([0-9]*\.[0-9]{3}).*/\1/g;p"

 

간편히 소수점 이하만 없앨려고 하는 경우에는 이렇게 표기 : awk ‘{$0=int($0)}1’ <<< “26.3”

Zero 패딩 구현

for i in $( seq 1 10 ); do printf "%03d\t" "$i"; done
001 002 003 004 005 006 007 008 009 010

 

 

관련 글

답글 남기기

이메일 주소를 발행하지 않을 것입니다. 필수 항목은 *(으)로 표시합니다