쉘 스크립트에서 입력 변수의 마지막 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