
Bash에서 명령을 배우려고 노력 중인데 이러한 예제를 발견했습니다. 추가하면 '.'
시퀀스 번호가 인쇄되지 않는 이유는 무엇입니까?
이것이 내가 원하는 동작이지만, 아무것도 찾을 수 없습니다맨 페이지.
printf "%.sI" $(seq 10)
IIIIIIIIII
printf "%sI" $(seq 10)
1I2I3I4I5I6I7I8I9I10I
답변1
printf
문자열에도 적용할 수 있는 정밀도를 지정할 수 있습니다.
관련 진술printf(3) 맨페이지:
마침표('.') 뒤에 선택적 10진수 문자열이 오는 형식의 선택적 정밀도입니다.
정밀도가 '.'로 지정되거나 정밀도가 음수인 경우 정밀도는 0으로 간주됩니다.
s
이는 변환 및 문자열에서 인쇄할 최대 문자 수를 제공합니다S
.
So는 후속 문자열 매개변수의 출력을 억제하는 printf '%.s'
와 동일합니다 .printf '%.0s'