그래서 나는 이것을 원하지 않습니다:
echo "9"
9
대신에 이것이 필요합니다. 예를 들어, 앞에 4개의 공백이 옵니다.
MAGICK "9"
9
따라서 10을 사용하려고 하면 다음과 같습니다.
MAGICK "10"
10
그러면 그 앞에는 3칸만 남게 됩니다. 이런 방식으로 출력 형식을 어떻게 지정합니까?
답변1
$ alias MAGICK="printf '%5s\n'"
$ MAGICK 10
10
답변2
printf
출력 형식을 지정하려는 경우 이 옵션을 사용해야 합니다.
위의 예에서는 1을 사용할 수 있습니다 .
printf "\t%s\n" "9"
어디에 \t
탭 문자가 있고, %s
인쇄하려는 문자열이 있고, \n
개행 문자가 있습니다.
많은 쉘에는 자체 버전이 있습니다 printf
. 자세한 내용은 설명서를 확인하세요.
[1] 참고: 귀하의 질문에서 귀하가 달성하려는 목표가 완전히 명확하지 않습니다...
답변3
파이프 출력에 적합:
alias rj='xargs printf "%$((${COLUMNS}-4))s\n"'
seq 0 $LINES | rj