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





















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: 첫번째 그룹을 의미


덧글

댓글 입력 영역