[완료] 배쉬쉘 문자열 관련 문의

artop0420의 이미지

배쉬로 스크립트 작업중인데요.

a=12345
b=1234

이런 변수가 있습니다.
실제 출력화면에는 a는 1234만 출력해야 하고 b는 123만 출력해야 하는 가정하에

echo $a | cut -c -4
echo $b | cut -c -3

이렇게 해서 출력하려고 했는데, 막판에 이 잘난 변수가 a가 항상 12345가 아니라는군요.
실 작업중에는 a와 b의 값이 서로 바뀔수도 있다는 이야기에 살짝 패닉이 되었습니다.

a=1234가 될수도 있고 a=12345가 될수 있는데,
단, 조건은 a가 1234일 경우에는 123만 출력하면 되고, 12345일 경우에는 1234를 출력해야하는거죠.
b일경우에도 마찬가지고요... ㅡㅡ+
그래서 생각한게, 맨 좌측문자를 제거하고 출력하는 방법이 있을것 같다는게 생각인데, 구현이 안되네요...
ㅠ_ㅠ 어찌하면 좋을까요?

mrjh76의 이미지

이게 원하는 방법인것 같군요?

echo 12345 | sed -e s/[0-9]$//
auditory의 이미지

이것도요..

echo ${a:0:${#a}-1}

bushi의 이미지

혹은..

echo $a|rev|cut -c2-|rev

OTL

artop0420의 이미지

역시.. 스크립트의 대단하신 분들이시네요.ㅎ.ㅎ 모두 같은 제가 원하는 값이 나왔습니다 ^^ 감사합니다~ ^^ㅋ

--- 나는요? ---

리눅스와 솔라리스 그리고 윈도우의 껍데기만 맛보고 있습니다.

--- 나는요? ---

리눅스와 솔라리스 그리고 윈도우의 껍데기만 맛보고 있습니다.

auditory의 이미지

이것도 되겠네요.. ^^

echo $((a/10))

sylphiel의 이미지

그저 부러울 따름...

'다르다'는 것은 '틀리다'가 아닙니다.

==========================
'다르다'는 것은 '틀리다'는 것이 아닙니다.
==========================