본문 바로가기
Programming/Bash

[Bash Shell] Sed 명령어 사용법

by 빅경 2024. 6. 30.
728x90
반응형

Linux의 sed 명령어는 스트림 편집기로, 텍스트 파일을 조작하고 변환하는 데 사용됩니다. 주요 사용법은 다음과 같습니다:
sed는 한 줄씩 읽어서 주어진 script를 실행하는 것을 반복하는 명령입니다.
파일의 내용을 변경하지 않고 출력만 하는 것이 기본 동작이므로, 실제 파일을 수정하려면 -i 옵션을 사용해야 합니다.\
주어진 script에서 '\n'이 안먹는게 아니라, 한 줄을 읽은 다음에 이 줄을 버퍼(pattern space)에 넣고 script를 실행하기 때문에 그렇습니다.

Pattern:
sed [옵션] '명령' 파일명

문자열 치환:
sed 's/old_text/new_text/' filename
이 명령은 파일 내의 'old_text'를 'new_text'로 바꿉니다

특정 행 삭제:
sed '/pattern/d' filename
이 명령은 'pattern'이 포함된 행을 삭제합니다.

특정 행 범위 출력:
sed -n '2,4p' filename
이는 2번째부터 4번째 행까지만 출력합니다.

여러 패턴 동시 적용:
sed -e 'command1' -e 'command2' filename
-e 옵션을 사용하여 여러 sed 명령을 순차적으로 적용할 수 있습니다.

원본 파일 수정:
sed -i 's/old_text/new_text/g' filename
-i 옵션을 사용하면 원본 파일을 직접 수정합니다.

정규 표현식 사용:
sed -r 's/regex_pattern/replacement/' filename
-r 옵션으로 확장 정규 표현식을 사용할 수 있습니다.

특정 행에 텍스트 추가:
sed '2i\New line' filename
이 명령은 2번째 행 위에 'New line'을 삽입합니다.

개행문자 text로 변환
sed -e "s/$/text/g" ${file_path}

개행 문자를 \n으로 변경
sed 's/$/\\n/' ${file_path} |tr -d '\n'

728x90
반응형