반달가면 이글루에서 백업 - http://bahndal.egloos.com/627888
우선 sed를 이용한 문자열 대체의 기본적인 예시는 이전 게시물을 참고하자. 여기로.
# abc를 ABCD로 대체
echo "abc" | sed "s/abc/ABCD/"
ABCD
그런데 만약 대체하고자 하는 문자열 자체에 슬래시(/)가 포함되면 어떻게 할 것인가?
의외로 방법은 간단하다. sed에서 통상 슬래시를 구분자로 사용하지만, 사실은 s 옵션 바로 다음에 나오는 문자가 구분자로 지정된다. 그리고 이 구분자가 반드시 슬래시일 필요는 없다. 아래의 예시를 보자.
# ab/c를 ABC/D로 대체, 구분자는 "%"
echo "ab/c" | sed "s%ab/c%ABC/D%"
ABC/D
"s/문자열/문자열/" 형태 대신 "s%문자열%문자열%" 형태로, 구분자를 퍼센트(%) 기호로 지정해 주었다. 대체할 문자열에 사용되지 않는 문자를 구분자로 지정해 주면 된다.
728x90
'bash script' 카테고리의 다른 글
[bash:awk] awk를 이용한 평균값 계산 (0) | 2023.10.12 |
---|---|
상관 관계 자료를 2차원 연관 배열(associative array)에 할당 (1) | 2023.10.11 |
[bash: cut] 필드 구분자(delimiter)가 없는 경우 출력 억제하기 (0) | 2023.10.11 |
[bash: $()] 역따옴표(`)를 중첩해서 사용하고 싶을 경우 (0) | 2023.10.10 |
[bash: csplit] 설정한 기준에 따라 텍스트 파일 분할하기 (1) | 2023.10.10 |