본문 바로가기
IT/linux

리눅스 파일 내 텍스트 찾아 바꾸기 설명과 예제

by 어느해겨울 2020. 3. 30.

리눅스 파일 내 텍스트 찾아 바꾸기

 

리눅스로 작업을 하다보면 높은 확률로 파일 내의 텍스트를 변경할 경우가 생긴다.

그것도 무척 단조롭고 많은 파일을 대상으로.. 

예를 들자면 소스 코드 내에 fixed 한 소켓 포트 번호라던가 절대 경로 수정 같은 일..

이럴때 find 와 sed를 조합하여 파일 내 텍스트를 바꿀 수 있다.

 

# 기호 의미

<> : 필수

[]   : 옵션

 

# 명령어

find <대상 경로> [-type f] -exec sed -i 's/<변경할 텍스트>/<변경될 텍스트>/g' {} +

 

# 사용 예

find /home/user -type f -exec sed -i 's/5555/0000/g' {} +

 - /home/user 디렉토리 내에 모든 파일을 대상으로 파일 내 텍스트 5555를 0000으로 치환 함을 의미.

 - find 명령어와 sed 명령의 조합으로 텍스트 치환하는 것이 목적이기 때문에 -type f 는 구태여 사용할 필요 없음.

 

 

 

댓글