본문 바로가기
프로그래밍/shellscript

[shellscript] 쉘스크립트 sed 문자 정확히 일치 할 때 바꾸기

by IT맥구리나스 2023. 11. 3.

sed 명령어를 통해 파일 내용의 문장이나 단어를 변경할 수 있다.

하지만 기본적으로 바꾸고자 하는 문자 포함이면

모두 바꾸기 때문에 바꾸고자 하는 단어가 정확히 일치할 때 변경하는 방법을 찾아야한다.

 

해결방법

sed -i -e '/^aaaa,bbbbb$/s/a,b/new_string/' filename.txt

 

예를들어 filename.txt가 아래와 같이 구성되어있을 때

aaaa,bbbb,ccc
aaaa,bbbb
aaaa,bbbb,ccc,dddd

 

sed -i -e '/aaaa,bbbbb/s/a,b/new_string/' filename.txt

명령어를 수행하면 다음과 같이 출력된다

 

a,b,ccc
a,b
a,b,ccc,dddd

 

내가 원하는것은 두번째 라인만 변경을 원하는 것이다 따라서 첫번째와 마지막을 구분시켜야하는데

이때

문자의 시작은 ^

문자의 끝은 $

를 넣어서 정확하게 일치할 때만 바꾸도록 사용할 수 있다.

 

쉘스크립트 정확한 문자 바꾸기

sed 정확히 일치

sed 정확할 때 바꾸기

반응형

댓글