[bash: sed] 문자열 찾아 바꾸기 리눅스 bash script

sed를 이용해서 특정 문자열을 다른 문자열로 바꾸는 방법이다. 일단 아래의 예시를 보자.
echo "abc_abc_abc" | sed "s/abc/ABCD/"  (처음 나오는 abc를 ABCD로 교체)
ABCD_abc_abc

g 옵션을 추가하면 지정한 모든 문자열을 바꾼다.
echo "abc_abc_abc" | sed "s/abc/ABCD/g" (모든 abc를 ABCD로 교체)
ABCD_ABCD_ABCD

grep에서 주로 사용하는 정규표현(regular expression)도 사용할 수 있다.
echo "abc_abc_abc" | sed "s/abc$/ABCD/" (abc로 끝나는 부분을 ABCD로 교체)
abc_abc_ABCD

파일에서 문자열을 바꾸고 다른 파일로 저장하려면 아래와 같이 하면 되겠다.
sed "s/abc/ABCD/" my_file.txt > my_file_modified.txt
또는
cat my_file.txt | sed "s/abc/ABCD/" > my_file_modified.txt

특정 문자열을 없앨 수도 있다. 아래의 예시를 참고하자.
echo "abc_abc_abc" | sed "s/abc//" (처음 나오는 abc를 제거)
_abc_abc



핑백

덧글

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

Google Analytics


B-Side


adsense(w160_h600)2

통계 위젯 (화이트)

67342
4132
1862258

ad_widget_2