반달가면 이글루에서 백업 - 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
'bash script' 카테고리의 다른 글
[bash: awk] 단어 위치 바꾸기 (0) | 2020.11.03 |
---|---|
[bash: seq] 연속적인 수 생성 (0) | 2020.10.28 |
[bash: shuf] 문자열/수자를 무작위로 뒤섞기(shuffling) (0) | 2020.10.23 |
[bash: openssl] 파일 암호화 (0) | 2020.10.23 |
[bash: grep] 다중 문자열 검색 (0) | 2020.10.22 |