여러 개 파일에서 특정 문자열을 찾아서 바꿔야 하는 상황이 생길 수 있다.
find 명령어와 sed 명령어를 응용해서 쉽게 찾아바꾸기를 할 수 있다.
find [대상 경로] -name [파일명] -exec sed -i '[찾아바꾸기 명령어]' {} \;
ex)
find . -name "*.sh" -exec sed -i '%s/pattern/string/g' {} \;
1. 파일을 찾는다
find . -name '.sh'
2. 찾은 파일에 대해 sed를 실행한다.
sed를 사용하면 vi처럼 파일 편집 작업을 할 수 있다.
-i 옵션을 사용하면 파일의 변경된 내용을 출력하지 않고 해당 파일의 내용을 변경한다.
exec sed -i '%s/pattern/string/g' {} \;
s 명령어의 경우 이전 포스팅에서 정리했으니 링크를 첨부한다.
https://travel2develop.tistory.com/60
[220728] linux vi 찾아 바꾸기 (find and replace)
1. vi 찾아바꾸기 리눅스에서 찾아바꾸기는 :s 명령어를 사용해서 할 수 있다. 명령모드에서 아래 명령어를 입력한다. :[range]s/{pattern}/{string}/[flags] [count] :[검색범위]s/{찾는 문자열}/{바꿀 문자열}/[
travel2develop.tistory.com
참고자료
https://www.lesstif.com/lpt/linux-sed-6979751.html
https://jhnyang.tistory.com/287
https://www.geeksforgeeks.org/sed-command-in-linux-unix-with-examples/
'linux' 카테고리의 다른 글
[220825] vi 블록 선택 / 복사&붙여넣기 (0) | 2022.08.25 |
---|---|
[220728] linux vi 찾아 바꾸기 (find and replace) (0) | 2022.07.29 |
[211013] linux-window 원격 서버 간 파일 복사하기(scp 사용) (0) | 2021.10.13 |