bash script2023. 8. 29. 08:58

 

반달가면 이글루에서 백업 - http://bahndal.egloos.com/610117

sed 명령에서 여러개의 문자열을 각각 대체할 경우 -e 옵션을 활용할 수 있는데(이전 게시물을 참고하자. 여기로), 대체 명령을 파일에 저장해서 이용할 수도 있다.

 

우선 -e 옵션의 예시를 보자.

# 문자열 abc를 123으로, def를 456으로 대체
echo "abc def xyz" | sed -e 's/abc/123/' -e 's/def/456/'
123 456 xyz

위의 작업에서 -e 옵션에 사용할 명령들을 파일에 저장해서 불러올 수 있다. 예를 들어 test.sed 파일에 이 명령들을 저장했다면 아래와 같은 형태가 된다.

# test.sed 파일 내용 확인
cat test.sed
s/abc/123/
s/def/456/

test.sed 파일에 있는 명령어를 적용하려면 sed에서 -f 옵션을 이용하면 되겠다.

# test.sed 파일에 있는 명령을 적용
echo "abc def xyz" | sed -f test.sed
123 456 xyz

대체할 문자열이 많고 같은 명령을 반복적으로 적용해야 하는 상황일 경우에 상당히 편리하다.

728x90
Posted by 반달가면