> 텍스트 처리 및 검색 > sed

sed -f: 스크립트 파일로 텍스트 처리

sed는 스트림 에디터로, 텍스트 파일이나 표준 입력으로부터 데이터를 읽어와 지정된 규칙에 따라 변환하고 출력합니다. -f 옵션은 sed 명령어를 스크립트 파일에 작성하여 실행할 수 있게 해주어, 복잡하거나 반복적인 텍스트 처리 작업을 효율적으로 관리할 수 있도록 돕습니다. 여러 줄의 sed 명령을 한 파일에 모아 재사용성을 높이는 데 유용합니다.

개요

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 옵션 사용 시 백업 파일을 생성하는 것이 안전합니다. 불필요한 백업 파일은 주기적으로 정리하는 것이 좋습니다.


동일 카테고리 명령어