develog

[bash] grep, sed 로 파일 내용 바꾸기 본문

카테고리 없음

[bash] grep, sed 로 파일 내용 바꾸기

냐옴 2024. 3. 19. 16:52

 

grep 옵션

-r 하위 디렉토리 포함
-l 파일명만 출력
-n 라인 번호 포함
-i 대소문자 구분하지 않음
-E 정규표현식 사용
-w 단어가 정확히 일치하는 경우만

 

## grep -r 로 실행하면 파일명과 내용이 출력된다
$ grep -r '123.456.7.' .
./get_file.sh:/usr/bin/sftp user01@123.456.7.80 <<- EOF

## grep -rl 로 실행하면 파일 리스트만 출력된다
$ grep -rl '123.456.7.' .
./get_file.sh

## grep -rl 로 파일 리스트를 검색한 후
## sed -i 로 파일 내용을 수정한다
## Linux 에서는 sed -i'' => -i 뒤에 공백 없음
## macOS 에서는 sed -i '' => -i 뒤에 공백 있음
$ grep -rl '123.456.7.' . | xargs sed -i '' 's/123.456.7.80/123.456.7.89/g'
Comments