쉘 스크립트에서 오른쪽 숫자 3 정수를 인쇄하는 방법

쉘 스크립트에서 오른쪽 숫자 3 정수를 인쇄하는 방법

쉘 스크립트에서 입력 변수의 마지막 3자리를 인쇄하는 방법 예: 입력 변수가 236548이고 출력은 548이어야 합니다.

답변1

숫자가 변수에 저장되어 있다고 가정합니다 var.

echo "${var#${var%???}}"

여기서는 ${var%???}의 마지막 세 문자로 확장됩니다.$var 제거됨, 앞에 제거해야 할 내용은 남겨 둡니다 $var. 이 결과는 의 시작 부분에서 해당 문자를 제거하는 데 사용됩니다 $var.

$var즉, " 의 마지막 세 문자를 제거한 후 남은 부분을 처음부터 제거 $var하고 echo이를 호출합니다."

답변2

쉘이 , , 와 같은 음수 오프셋을 사용하여 하위 문자열 확장을 지원하는 경우 bash다음 kshzsh수행할 수 있습니다.

$ var=236548
$ echo "${var: -3}"
548

의 마지막 세 문자를 에코합니다 var.

답변3

다음 명령을 시도해 볼 수 있습니다 tail.

$> echo 236548 | tail -c 4
548

변수의 경우 $:를 사용합니다.

$> echo "$MYVAR" | tail -c 4

관련 정보