Linuxpia/Linux 명령어

[리눅스 명령어] sed 명령어 사용법

Linuxpia4U 2024. 5. 25. 05:28
반응형

sed(stream editor) 명령어 사용법

sed(stream editor)는 텍스트 파일을 조작하고 변환하는 강력한 명령어입니다. 주로 파일 내 텍스트의 검색, 치환, 삽입, 삭제 작업을 수행하는 데 사용됩니다.

기본 구문

sed [옵션] 'script' [파일...]

주요 옵션

  • -e script : 스크립트를 인라인으로 추가
  • -f script-file : 스크립트 파일에서 명령어를 읽음
  • -i[SUFFIX] : 파일을 직접 수정
  • -n : 출력하지 않음, 특정 명령으로 출력 제어

기본 사용법

텍스트 치환

가장 일반적인 sed 사용법은 텍스트 치환입니다. s 명령어를 사용하여 특정 문자열을 다른 문자열로 바꿉니다.

sed 's/old/new/' 파일

예제:

echo "Hello World" | sed 's/World/Linux/'

출력:

Hello Linux

caption: sed 명령어 사용

파일에서 텍스트 치환

파일 내 모든 'World'를 'Linux'로 바꾸려면 다음과 같이 입력합니다.

sed 's/World/Linux/' example.txt

이 명령어는 결과를 표준 출력에 표시합니다. 파일 자체를 수정하려면 -i 옵션을 사용합니다.

sed -i 's/World/Linux/' example.txt

모든 발생 위치 치환

기본적으로 sed는 각 줄에서 첫 번째 발생만 치환합니다. 모든 발생 위치를 치환하려면 g 플래그를 사용합니다.

sed 's/World/Linux/g' example.txt

특정 줄에서만 치환

라인 번호를 지정하여 특정 줄에서만 치환할 수 있습니다.

sed '2s/World/Linux/' example.txt

이 명령어는 두 번째 줄에서만 'World'를 'Linux'로 바꿉니다.

텍스트 삽입 및 추가

줄 앞에 텍스트 삽입

특정 줄 앞에 텍스트를 삽입하려면 i 명령어를 사용합니다.

sed '2i\새 줄 삽입' example.txt

이 명령어는 두 번째 줄 앞에 '새 줄 삽입'을 추가합니다.

줄 뒤에 텍스트 추가

특정 줄 뒤에 텍스트를 추가하려면 a 명령어를 사용합니다.

sed '2a\새 줄 추가' example.txt

이 명령어는 두 번째 줄 뒤에 '새 줄 추가'를 추가합니다.

텍스트 삭제

특정 줄 삭제

특정 줄을 삭제하려면 d 명령어를 사용합니다.

sed '2d' example.txt

이 명령어는 두 번째 줄을 삭제합니다.

특정 패턴이 포함된 줄 삭제

특정 패턴이 포함된 줄을 삭제하려면 /pattern/d를 사용합니다.

sed '/pattern/d' example.txt

이 명령어는 'pattern'이 포함된 모든 줄을 삭제합니다.

여러 명령어 실행

여러 명령어를 실행하려면 -e 옵션을 사용하거나 세미콜론(;)으로 구분합니다.

sed -e 's/World/Linux/' -e 's/Hello/Hi/' example.txt

또는

sed 's/World/Linux/; s/Hello/Hi/' example.txt

정리

sed는 텍스트 파일을 효율적으로 편집하고 변환하는 데 매우 유용한 도구입니다. 기본적인 치환, 삽입, 삭제 작업부터 시작하여 다양한 옵션과 명령어 조합을 통해 강력한 텍스트 처리 기능을 제공합니다. 이를 통해 스크립트 작성과 데이터 처리 작업을 자동화하고 간소화할 수 있습니다.

반응형