프로그래밍/shellscript
[shellscript] 쉘스크립트 sed 문자 정확히 일치 할 때 바꾸기
IT맥구리나스
2023. 11. 3. 10:39
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 정확할 때 바꾸기
반응형