본문 바로가기
Ubuntu/Ubuntu20.04

rename, sed 사용하기

by 거인과난쟁이 2022. 8. 9.

R로 웹 자료를 수집하는 과정을 10년 이상 해온 것 같다. 주로 언론 데이터를 수집하고 분석한다.
많은 자료를 한꺼번에 수집하려고 애쓴적도 있고, 매일매일 조금씩 자료를 모은 적도 있다. 이 과정에서 참으로 많은 스크립트 파일을 만들었다. 일짜별로, 월별로, 연별로, 수집분야별로 말이다. 날짜가 바뀌고, 월이 바뀌고, 연이 바뀌고, 수집 분야가 바뀔 때마다 매번 스크립트를 새롭게 만드는 일은 매우 반복적으로 지루하다. 그렇다고 프로그래밍 테크닉을 이용해서 압축적으로 기호화하면 언제 어디서 발생할 지 모르는 오류를 찾아서 다시 셋팅하는데 위험한 경우에 노출되기도 한다. 그래서 주로 파일 이름을 복사한 이후, 부분 변경하는 방식으로 스크립트 파일들을 만든다. rename 명령어를 사용한다. 스크립프 파일 안에 있는 텍스트를 바꿀때는 sed 명령어를 쓴다. (여러 방법이 있는 것으로 알고 있다.)

sudo apt install rename
# rename -v 's/example/test/' *.R
rename -v 's/2020/2021/' *.R

sudo apt install sed
# sed -i 's/search_string/replace_string/' filename
sed -i 's/2021/2022/' *.R
sed -i 's/2021/2022/' *.R

그런데 sed 명령어에 아직 익숙하지 않아서일까, 디렉토리 이름에 2022가 두 개 이상 들어있으면, 하나만 변경되는 현상을 발견한다. 그래서 sed 명령어를 두번 연속 사용한다 ^^; (나중에 알게되겠지...하는 느긋한 마음이다. ㅎ)


# 한줄에 두개 이상의 부분변환을 할때 ^^;
sed -i 's/2021/2022/g' *.R

'Ubuntu > Ubuntu20.04' 카테고리의 다른 글

CentOS7에서 Ubuntu20.04로 R 서버 교체 ('22.08)  (0) 2022.08.09