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: 첫번째 그룹을 의미한다.
'Computer Science > [19-상] Linux Bash Script' 카테고리의 다른 글
[Linux_bash] \(back slash, escape character)의 의미 (0) | 2020.03.03 |
---|---|
[Linux_bash] find,rm,cp: | (파이프라인) 이 작동하지 않을 때 (0) | 2020.02.29 |
[Linux_bash] regex: 정규표현식 그룹(captured group) 이용하기 (0) | 2020.02.29 |
[Linux_bash] pr,sed,grep: 문서 양식화하고 여백 지우기 (0) | 2020.02.29 |
[Linux_bash] redirection 이해하기 (0) | 2020.02.20 |
댓글