개요
sed는 텍스트 스트림을 편집하는 강력한 도구입니다. -f 옵션을 사용하면 sed 명령어를 별도의 스크립트 파일에 저장하여 실행할 수 있습니다. 이는 복잡한 스크립트를 관리하거나 여러 sed 명령을 한 번에 적용해야 할 때 매우 유용합니다.
주요 특징
- 복잡한 스크립트 관리 용이
- 스크립트 재사용성 증대
- 여러 sed 명령을 한 파일에 통합
- 버전 관리 및 공유 용이
주요 옵션
sed -f 사용 시 주로 활용되는 옵션들입니다.
스크립트 파일 지정
기타 유용한 옵션
생성된 명령어:
명령어를 조합해 보세요.
설명:
`sed` 명령어를 실행합니다.
위 옵션들을 조합하여 AI와 함께 가상으로 명령어를 실행해 보세요.
사용 예시
sed -f 명령의 다양한 활용 예시입니다.
기본 스크립트 파일 사용
echo 'This is an apple.' > input.txt
echo 's/apple/orange/g' > script.sed
sed -f script.sed input.txt
script.sed 파일에 's/apple/orange/g' 명령을 작성하고 input.txt 파일에 적용합니다.
여러 명령을 포함한 스크립트 파일
echo -e 'This is an error.\n# This is a comment.\nAnother error.' > data.txt
echo -e 's/error/ERROR/g\n/^#/d' > multi.sed
sed -f multi.sed data.txt
multi.sed 파일에 여러 sed 명령을 작성하여 data.txt 파일에 적용합니다. (예: 'error'를 'ERROR'로 바꾸고, '#'으로 시작하는 줄 삭제)
파일 직접 수정 및 백업
echo 'This is old_text.' > file.txt
echo 's/old_text/new_text/g' > replace.sed
sed -i.bak -f replace.sed file.txt
cat file.txt
cat file.txt.bak
replace.sed 파일의 명령으로 file.txt를 직접 수정하고 .bak 확장자로 백업 파일을 생성합니다.
-n 옵션과 함께 특정 줄 출력
echo -e 'Line 1\nLine 2\nLine 3' > log.txt
echo '2p' > print_line.sed
sed -n -f print_line.sed log.txt
print_line.sed 파일에 '2p' 명령을 작성하여 log.txt 파일의 두 번째 줄만 출력합니다.
팁 & 주의사항
sed -f 사용 시 유용한 팁과 주의할 점입니다.
스크립트 파일 권한
sed -f로 실행되는 스크립트 파일은 실행 권한이 필요하지 않습니다. 읽기 권한만 있으면 됩니다.
디버깅
sed 스크립트가 예상대로 작동하지 않을 경우, -n 옵션과 p 명령을 조합하여 특정 패턴이 매칭되는지 확인하거나, l (list) 명령으로 비출력 문자를 확인할 수 있습니다.
-e와 -f의 조합
-e 옵션으로 간단한 명령을 직접 지정하고, -f 옵션으로 복잡한 스크립트 파일을 함께 사용할 수 있습니다. 이는 유연한 스크립트 작성을 가능하게 합니다.
백업 파일 관리
-i 옵션 사용 시 백업 파일을 생성하는 것이 안전합니다. 불필요한 백업 파일은 주기적으로 정리하는 것이 좋습니다.