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
파일에서 텍스트 치환
파일 내 모든 '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
는 텍스트 파일을 효율적으로 편집하고 변환하는 데 매우 유용한 도구입니다. 기본적인 치환, 삽입, 삭제 작업부터 시작하여 다양한 옵션과 명령어 조합을 통해 강력한 텍스트 처리 기능을 제공합니다. 이를 통해 스크립트 작성과 데이터 처리 작업을 자동화하고 간소화할 수 있습니다.
'Linuxpia > Linux 명령어' 카테고리의 다른 글
[리눅스명령어] 안전한 패스워드 생성 명령어, pwgen (41) | 2024.05.28 |
---|---|
[리눅스명령어] `shuf` 명령어 (47) | 2024.05.27 |
[리눅스 명령어] seq 명령어 사용법 (40) | 2024.05.24 |
[리눅스 명령어] bg, fg, kill 명령어 (41) | 2024.05.08 |
특정 시간 동안 프로세스 실행 정지, `sleep` 명령어 (45) | 2024.05.07 |