새소식

사용팁/언어

[sed] 원하는 문구를 찾아 앞이나 뒤에 문장 추가하기

  • -

기록용으로 남깁니다.

원하는 문구 앞(위)에 줄을 추가할 때는 /i 를 사용하고 뒤(아래)에 추가할 때는 /a 를 사용합니다.

 

sed -i'' -re "/찾을문자열/i\앞에추가할문자열/" filename.txt

sed -i'' -re "/찾을문자열/a\뒤에추가할문자열/" filename2.txt

※ 기본적으로 sed 명령은 '/찾을패턴/명령' 형태로 되어 있습니다.

이 명령에는 출력(p), 삭제(d), 범위(,), 파일읽기(r), 파일쓰기(w), 줄 위 삽입(i), 줄 아래 삽입(a), 변경(c), 다음(n) 등이 있습니다.

명령이 앞에 오는 명령은 '명령/대상패턴/변경할패턴/' 형태로 되어 있습니다.

이 명령에는 치환(s), 변환(y) 등이 있습니다.

 

파라미터에는 -i -f -e -r -l 등이 있습니다.

위 예제에 쓰인 -i 는 파일에 덮어쓴다는 뜻입니다. 만약 -i 뒤에 글자를 붙이면 원본 파일명 뒤에 해당 글자가 추가된 파일명의 새 파일이 생성됩니다.

-e 는 뒤에 실행할 스크립트가 온다는 뜻입니다. 위 '' 로 둘러쌓은 패턴을 사용할 때 지정하는 옵션입니다.

-f 를 쓰면 스크립트를 직접 쓰지 않고 파일에서 읽어들인다는 뜻입니다.

-r 은 확장 정구식을 사용한다는 뜻입니다 grep -E 에서도 확장 정규식을 사용한다는 뜻으로 posix 규격에 맞게 구현된 프로그램에서는 -E 옵션과 동일합니다.(-r 대신 -E 라고 써도 됩니다)

 

나머지 명령은 자주 쓰이지 않으니 기본 옵션들이 검색 안해도 될만큼 익숙해지면 man sed 명령을 내려 찾아보시기 바랍니다.

Contents

포스팅 주소를 복사했습니다

이 글이 도움이 되었다면 공감 부탁드립니다.