Linuxpia/리눅스 사용 팁

명령어 `sed`의 사용 사례

easyfly 2025. 7. 5. 11:40
반응형

명령어 `sed`의 사용 사례

sed -i 's/from\.errors/form.errors/g' ./파일경로 명령어의 각 부분을 쉽고 명확하게 설명드리겠습니다.


🔧 명령어 전체 구조

sed -i 's/from\.errors/form.errors/g' ./파일경로

 

구성요소 의미
sed 텍스트 파일에서 문자열을 치환하거나 편집하는 명령어입니다. (stream editor)
-i 파일을 직접 수정합니다. (백업 없이 바로 적용)
's/.../.../g' 치환 명령입니다. s는 substitute(대체)의 의미입니다.
from\.errors 바꿀 문자열입니다. 여기서 \.은 마침표 .를 문자 그대로 인식하게 해줍니다.
form.errors 새로 바꿀 문자열입니다.
g 한 줄에 여러 번 등장해도 전부 다 바꾸겠다는 의미입니다. (global)
./파일경로 수정할 대상 파일 경로입니다.

🔍 왜 `\.`을 붙였나요?

마침표 .는 정규표현식에서 '모든 문자'를 의미하는 특수 문자입니다.
from.errors라고 그대로 쓰면 fromXerrors, fromZerrors 등도 매칭됩니다.

그래서 문자 그대로 마침표(.)를 찾기 위해 from\.errors라고 적은 것입니다.


🧪 예시: answer_form.html 파일 수정

sed -i 's/from\.errors/form.errors/g' ./templates/pybo/answer_form.html

이 명령은 answer_form.html 파일 내의 모든 from.errors를 form.errors로 바꾸고, 그 결과를 파일에 즉시 반영합니다.


💡 백업하고 싶을 때

원본 파일을 백업해두고 수정하려면 아래와 같이 -i.bak 옵션을 쓰세요:

sed -i.bak 's/from\.errors/form.errors/g' ./templates/pybo/answer_form.html

이렇게 하면,

  • answer_form.html.bak이라는 백업 파일이 생기고
  • 원본은 수정된 내용으로 바뀝니다.

✅ 요약

기능 설명
sed 파일 안에서 문자열을 바꾸는 명령어
-i 파일을 직접 수정
's/A/B/g' A를 B로 모두 바꾸기 (g는 전체 반복)
\. 마침표를 문자 그대로 인식
파일 경로 대상 파일을 정확히 지정

 

반응형