[shell] 문자열 치환 [sed 사용]
난 토요일에는 문자 바꾸기를 했었죠? 이번에는 문자열 치환을 해 보죠.
test라는 파일에서 hate라는 문자열을 love라는 문자열로 치환하여, test1
이라는 파일에 저장하려면
sed ‘s/hate/love’ test > test1
여기서는 만약 한 줄에, hate라는 문자열이 여러 개 있을 경우에, 첫 번째
하나만 바뀌거든요.
만약, 한 줄에 여러 개 있을 경우, 모두 바꾸어 주려면,
sed ‘s/hate/love/g’ test > test1
또, 특정 라인 1~10 라인의 문자열 hate를 love로 대치하려면,
sed ‘1,10s/hate/love/g’ test
저 같은 경우 문자열 치환을 할때 보통 vi 편집기에 들어가서 다음과 같이 변경을 하였었습니다.
:1,10s/hate/love/g
위와 같이 사용하였었는데 위 팁의 내용처럼 sed 를 사용하면 더욱 편리할 것이라고 생각합니다.
위 팁내용을 바탕으로 sed 명령어를 더욱 유용하게 쓸수 있도록 하겠습니다.
감사합니다.