[bash: sed] 문자열 대체 명령 여러개를 파일에 저장해서 활용하기 리눅스 bash script

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

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



덧글

댓글 입력 영역
* 비로그인 덧글의 IP 전체보기를 설정한 이글루입니다.

Google Analytics


B-Side


adsense(w160_h600)2

통계 위젯 (화이트)

208711
4378
1636334

ad_widget_2