본문 바로가기
Computer Science/[19-상] Linux Bash Script

[Linux_bash] regex,vi: 큰 수를 영어 숫자 단위(B,M,K)로 변경하기

by gojw 2020. 2. 29.

vi 편집기에서 치환하는 명령어를 사용하면

많은 숫자가 나열되어있는 큰 수를 영어 숫자 단위로 변경할 수 있다.

 

vi test2.txt

:%s/^\([0-9]\{1,3\}\)[0-9]\{3}$/\1K/g

-> 천을 K로

 

:%s/^\([0-9]\{1,3\}\)[0-9]\{6}$/\1M/g

-> 백만을 M으로

 

:%s/^\([0-9]\{1,3\}\)[0-9]\{9}$/\1B/g

-> 십억을 B로

 

 

^,$: 문자열의 시작과 끝을 알린다.

만약 시작과 끝을 표시하지 않으면 K로 고치는 과정에서

124K64K

456K568

895K53

378K

이렇게 나온다.

 

\([0-9]\{1,3\}\): 임의의 숫자가 1~3번 있음을 그룹으로 묶는다.

[0-9]\{3}: 숫자가 세개 존재한다.

\1: 첫번째 그룹을 의미한다.

댓글