![쉘 스크립트에서 오른쪽 숫자 3 정수를 인쇄하는 방법 [닫기]](https://linux55.com/image/170575/%EC%89%98%20%EC%8A%A4%ED%81%AC%EB%A6%BD%ED%8A%B8%EC%97%90%EC%84%9C%20%EC%98%A4%EB%A5%B8%EC%AA%BD%20%EC%88%AB%EC%9E%90%203%20%EC%A0%95%EC%88%98%EB%A5%BC%20%EC%9D%B8%EC%87%84%ED%95%98%EB%8A%94%20%EB%B0%A9%EB%B2%95%20%5B%EB%8B%AB%EA%B8%B0%5D.png)
쉘 스크립트에서 입력 변수의 마지막 3자리를 인쇄하는 방법 예: 입력 변수가 236548이고 출력은 548이어야 합니다.
답변1
숫자가 변수에 저장되어 있다고 가정합니다 var
.
echo "${var#${var%???}}"
여기에서는 ${var%???}
마지막 세 문자까지 확장됩니다.$var
삭제됨, 전면에서 제거해야 할 부분은 남겨 둡니다 $var
. 이 결과는 의 시작 부분에서 이러한 문자를 제거하는 데 사용됩니다 $var
.
즉, "처음부터 시작하여 $var
마지막 세 문자를 제거한 후 남은 모든 항목을 제거한 $var
다음 echo
이를 사용하여 호출합니다."
답변2
쉘이 음수 오프셋(예: , bash
) 을 사용한 하위 문자열 확장을 지원하는 경우 다음을 수행할 수 있습니다.ksh
zsh
$ var=236548
$ echo "${var: -3}"
548
의 마지막 세 문자를 에코합니다 var
.
답변3
tail
다음 명령을 시도해 볼 수 있습니다 .
$> echo 236548 | tail -c 4
548
변수의 경우 $:를 사용할 수 있습니다.
$> echo "$MYVAR" | tail -c 4