bash script2020. 10. 26. 11:47

 

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

 

sed를 이용해서 특정 문자열을 다른 문자열로 바꾸는 방법이다. 일단 아래의 예시를 보자.

 

# 처음 나오는 abc를 ABCD로 교체

echo "abc_abc_abc" | sed "s/abc/ABCD/"
ABCD_abc_abc

 

g 옵션을 추가하면 지정한 모든 문자열을 바꾼다.

 

# 모든 abc를 ABCD로 교체

echo "abc_abc_abc" | sed "s/abc/ABCD/g"
ABCD_ABCD_ABCD

 

grep에서 주로 사용하는 정규표현(regular expression)도 사용할 수 있다.

 

# abc로 끝나는 부분을 ABCD로 교체
echo "abc_abc_abc" | sed "s/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

 

특정 문자열을 없앨 수도 있다. 아래의 예시를 참고하자.

 

# 처음 나오는 abc를 제거

echo "abc_abc_abc" | sed "s/abc//"

_abc_abc

 

728x90
Posted by 반달가면