리눅스 사용 팁 - 여러 파일 문자열 바꾸기

여러 파일에 있는 특정 패턴을 바꾸려고 하면,

먼저 바꾸고자하는 파일들이 있는 특정 디렉토리로 이동한다.

그리고 아래와 같이 입력한다. 

현재 경로로부터 하위 폴더까지의 "cpp"파일들 내에 "old"이란 문자열을 "new"로 변경하는 경우
find . -name "*.cpp" -exec sed -i 's/old/new/g' {} \;

쉬우면서도 어려운~~ 바꾸는 패턴은 vi에서 문자열 치환이랑 동일하네.

레퍼런스 페이지

https://mozi.tistory.com/35

 

[LINUX] sed 문자열 치환하기

sed 문자열을 변환하는 편집기입니다. 원본은 변경없이, 변경된 결과를 출력합니다. (-i 옵션으로 변경된 결과를 원본파일에 덮어쓸 수 있습니다. ) sed 사용법 sed [ option ] pattern file  옵션  의미  

mozi.tistory.com

https://mydatum.tistory.com/53

 

(Linux) 여러 파일내의 특정 문자열 한번에 치환하기

단일 파일내에서는 vi 명령어 : :%s/old/new/g 여러 파일내(여기서는 html 파일)의 특정 문자열 한번에 치환하는 방법은 find ./ -name "*.html" -exec sed -i 's/old/new/g' {} \;

mydatum.tistory.com

한놈만 바꿔

Karolina Grabowska 님의 사진, 출처: Pexels