본문 바로가기
TechNical/Unix

unix에서 문자를 숫자형식으로 간단히 변환하기

by 강멍멍이 2022. 11. 8.
반응형

0으로 채워서온 필드에서 해당 영역만큼 잘라서 숫자형식으로 표기를 할때,
0001이라는 문자는 숫자로는 1을 의미한다.

이거를 요렇게 해보면..
echo $((0001))
그러면 예쁘게 1이 찍힌다.

그런데 0010을 찍어 본다면?
echo $((0010))
말도 안되게 8이 찍힌다.
환경에 따라 다를 수도 있다.
unix가 이걸 8진수로 인식을 하는 것 같다.
그래서 10진수라고 명시를 해 줘야 한다.

echo $((10#0010))
이렇게 하면 예쁘게 10이 찍히는 걸 볼 수 있다.

역시나 테스트를 할 때는 문제가 될 만한 여러가지 케이스를 상정해서 해 봐야 한다.....

ps. 쓰고 보니 2년전에도 똑같은 짓을 했군........

반응형

댓글