이 10가지 Sed 예제를 통해 Linux 고급 사용자가 될 수 있습니다.

이 10가지 Sed 예제를 통해 Linux 고급 사용자가 될 수 있습니다.

텍스트 파일 및 터미널 출력 편집은 Linux 시스템을 관리하는 사람들에게 일상적인 작업입니다. sed와 같은 명령줄 유틸리티를 사용하면 터미널 창에서 바로 텍스트 파일의 내용을 수정하고 변경할 수 있습니다.





이 기사에서는 sed 명령에 대해 자세히 설명하고 Linux에서 sed 유틸리티의 힘을 보여주는 몇 가지 필수 예를 살펴보겠습니다.





sed 명령이란 무엇입니까?

의 약어인 sed 명령은 스트림 편집기 는 Linux 사용자가 파일 및 터미널 출력에 대해 텍스트 기반 작업을 수행할 수 있도록 하는 명령줄 도구입니다. sed를 사용하여 사용자는 텍스트에서 특정 단어를 찾아서 바꿀 수 있으며 출력의 특정 섹션을 표시하고 텍스트 파일을 열지 않고도 편집할 수 있습니다.





sed 명령이 지원하는 세 가지 기본 작업은 다음과 같습니다.

  1. 삽입
  2. 삭제
  3. 대체(찾기 및 바꾸기)

고급 사용자는 sed 명령으로 정규식을 구현하여 텍스트 스트림을 보다 효율적으로 편집할 수도 있습니다.



명령의 기본 구문은 다음과 같습니다.

sed [options] [pattern] [filepath]

...어디 옵션 명령의 다양한 기능입니다. 무늬 일치시키려는 정규식 또는 스크립트이며, 파일 경로 텍스트가 포함된 텍스트 파일의 경로입니다.





애플 뮤직이 내 모든 음악을 삭제했습니다.

10 Linux sed 명령의 예

일반 Linux 사용자가 될 계획이라면 파일 편집, 특정 단어 검색 및 바꾸기, 터미널 출력 필터링 방법을 아는 것이 유용할 수 있습니다. 이 섹션에서는 Linux 고급 사용자로 확실히 전환할 sed 명령의 몇 가지 예를 다룹니다.

포스트에서 시연을 위해 다음 텍스트 파일을 사용할 것입니다.





This is a demo text file.
It is an amazing file that will help us all.
The sed command is also great for stream editing.
Want to learn how to use the command?
This is another line in the file.
This is the third general line in the file.
This file is named as textfile.
This is a apple.
This is a orange.

1. 라인 범위 보기

head 및 tail과 같은 Linux 명령은 텍스트 파일의 처음 또는 마지막 10줄을 출력합니다. 그러나 파일의 특정 두 줄 사이에 내용을 가져오려면 어떻게 해야 합니까? 이러한 상황에서 sed 명령이 유용할 수 있습니다.

파일의 3행과 5행 사이의 내용을 출력하려면 텍스트 파일.txt :

sed -n '3,5p' textfile.txt

NS -N 플래그는 sed가 각 주기의 끝에 패턴 공간을 표시하는 것을 방지합니다. 당신은 또한 사용할 수 있습니다 --조용한 그리고 --조용한 대신 옵션 -N . NS NS 인수는 다음을 의미합니다 인쇄 일치하는 줄을 사용자에게 표시하는 데 사용됩니다.

예제 파일에서 앞서 언급한 명령을 실행하면 다음과 같은 출력이 생성됩니다.

The sed command is also great for stream editing.
Want to learn how to use the command?
This is another line in the file.

지정된 범위를 제외한 전체 파일 내용을 출력하려면 다음을 사용하십시오. NS 대신 플래그 NS 명령에서:

sed '3,5d' textfile.txt

NS NS 플래그는 출력에서 ​​일치하는 문자열을 삭제하고 나머지 내용을 표시합니다.

This is a demo text file.
It is an amazing file that will help us all.
This is the third general line in the file.
This file is named as textfile.
This is a apple.
This is a orange.

2. 비연속 라인 표시

파일의 여러 범위 사이에 비연속적인 줄을 인쇄하려면:

sed -n -e '1,2p' -e '5,6p' textfile.txt

산출:

This is a demo text file.
It is an amazing file that will help us all.
This is another line in the file.
This is the third general line in the file.

NS -그리고 깃발이 도움이됩니다 실행 단일 명령을 사용하여 여러 작업.

3. 줄 사이에 공백 삽입

어떤 이유로 텍스트 파일의 각 줄 사이에 빈 줄을 삽입하려면 다음을 사용하십시오. NS 기본 sed 명령으로 인수.

윈도우 10의 윈도우 xp 모드
sed G textfile.txt

출력에 여러 개의 빈 줄을 삽입하려면 여러 NS 로 구분된 인수 세미콜론 ( ; ) 캐릭터.

sed 'G;G' textfile.txt

4. 텍스트 파일의 단어 바꾸기

특정 단어가 나올 때마다 다른 단어로 바꾸려면 다음을 사용하십시오. NS 그리고 NS 명령과 함께 인수. sed 명령을 사용하여 단어를 대체하는 기본 구문은 다음과 같습니다.

sed s/originalword/replaceword/g filename

위에서 언급한 구문을 사용하여 단어를 바꿀 수 있습니다. 놀라운 ~와 함께 감독자 파일에서 텍스트 파일.txt :

sed s/amazing/super/g textfile.txt

NS NS 인수는 다음을 나타냅니다. 치환 그리고 NS 명령은 일치하는 콘텐츠를 지정된 대체 콘텐츠로 바꾸는 데 사용됩니다.

단어의 두 번째 발생을 sed로 바꾸려면 숫자를 NS 논쟁. 이 경우:

sed s/amazing/super/g2 textfile.txt

단어를 대체할 때 대소문자를 무시하려면 다음을 사용하십시오. 주다 대신에 NS , 어디 NS 의 약자 무시하다 사례.

sed s/Amazing/super/gi textfile.txt

관련된: Vi 사용? 파일을 연 다음 저장하고 종료하는 방법은 다음과 같습니다.

5. 범위 안의 대체 단어

특정 범위 내에서 단어를 대체할 수도 있습니다.

sed '2,5s/amazing/super/g' textfile.txt

6. 한 번에 여러 대체 수행

한 번에 두 개 이상의 대체를 수행하려면 명령을 다음으로 구분하십시오. 세미콜론 ( ; ) 캐릭터.

sed 's/amazing/super/g;s/command/utility/gi' textfile.txt

시스템은 다음 출력을 표시합니다.

This is a demo text file.
It is an super file that will help us all.
The sed utility is also great for stream editing.
Want to learn how to use the utility?
This is another line in the file.
This is the third general line in the file.
This file is named as textfile.
This is a apple.
This is a orange.

7. 일치하는 항목이 있는 경우에만 단어 바꾸기

sed 명령을 사용하여 주어진 행에서 일치하는 항목이 발견된 경우에만 단어를 바꿀 수도 있습니다. 예를 들어 단어를 바꾸려면 에게 ~와 함께 NS 만약 그 단어 주황색 다음 줄에 있습니다.

sed -e '/orange/ s/a/an/g' textfile.txt

위에서 언급한 명령을 실행하면 다음과 같이 출력됩니다.

This is a demo text file.
It is an super file that will help us all.
The sed utility is also great for stream editing.
Want to learn how to use the utility?
This is another line in the file.
This is the third general line in the file.
This file is named as textfile.
This is a apple.
This is an orange.

라는 단어를 참고하세요 에게 라인에서 이것은 사과입니다 시스템이 단어를 찾지 못했기 때문에 교체되지 않았습니다. 주황색 그 안에.

8. 정규 표현식을 사용한 대체 단어

정규식을 사용하는 방법을 아는 사람들에게는 sed 명령을 사용하여 문자열에 대한 작업을 수행하는 것이 훨씬 쉬워집니다. 정규식을 구현하여 명령의 기능을 향상시킬 수 있습니다.

단어의 모든 발생을 바꾸려면 놀라운 또는 놀라운 ~와 함께 감독자 :

sed -e 's/[Aa]mazing/super/g' textfile.txt

마찬가지로 고급 정규식을 사용하여 sed 명령을 사용하여 특정 작업을 실행할 수도 있습니다.

9. 다른 명령으로 파이프 sed

sed를 다른 Linux 명령과 연결할 수도 있습니다. 예를 들어 파이프를 lspci sed와 함께 명령을 사용하여 출력의 줄 사이에 빈 공간을 추가합니다.

lspci | sed G

출력에서 특정 단어를 대체하려면 IP 경로 쇼 명령:

ip route show | sed s/src/source/g

위의 명령은 단어를 대체합니다. 원천 원래 단어 대신 src .

관련된: Linux에서 찾기 명령을 사용하여 파일을 검색하는 방법

10. 원본 파일 편집 및 백업

시스템 파일로 작업할 때 변경 작업을 수행하면서 원본 파일을 백업하는 것이 중요합니다. 이렇게 하면 문제가 발생할 경우 변경 사항을 되돌리는 데 도움이 됩니다.

sed를 사용하여 원본 파일을 백업하려면 다음을 사용하십시오. -NS 명령에 플래그를 지정합니다.

PC에서 진단 프로그램을 실행하는 방법
sed -i'.backup' 's/amazing/super/g' textfile.txt

이름으로 새 파일이 생성됩니다. textfile.txt.backup . 다음을 사용하여 두 파일이 다른지 확인할 수 있습니다. 차이 명령.

diff textfile.txt textfile.txt.backup

sed를 사용하여 Linux에서 문자열 편집

터미널에서 텍스트 파일로 작업하는 동안 가독성을 높이기 위해 출력 형식을 지정하고 편집해야 하는 경우가 있습니다. Sed 및 awk는 사용자가 데이터를 별도의 줄로 나누어 텍스트 파일로 효율적으로 작업할 수 있도록 하는 Linux의 명령줄 유틸리티입니다.

많은 사용자가 sed 명령의 인수와 플래그를 사용할 수 있기 때문에 암기하는 데 어려움을 겪습니다. Linux 명령에 대한 명령줄 설명서를 얻는 방법을 알면 이러한 상황에서 쉽게 벗어날 수 있습니다.

공유하다 공유하다 트위터 이메일 Linux에서 명령줄 도움말을 얻는 7가지 방법

명령줄에서 Linux 명령을 배우기 위한 모든 필수 명령

다음 읽기
관련 항목
  • 리눅스
  • 텍스트 에디터
  • 단말기
  • 명령 프롬프트
저자 소개 디페쉬 샤르마(79개 기사 게재)

Deepesh는 MUO의 Linux용 주니어 편집자입니다. 그는 모든 신규 이민자에게 행복한 경험을 제공하는 것을 목표로 Linux에 대한 정보 가이드를 작성합니다. 영화에 대해서는 잘 모르지만 기술에 대해 이야기하고 싶다면 그는 당신의 남자입니다. 여가 시간에는 책을 읽거나 다양한 음악 장르를 듣거나 기타를 연주하는 그를 볼 수 있습니다.

Deepesh Sharma가 참여한 작품 더보기

뉴스레터 구독

뉴스레터에 가입하여 기술 팁, 리뷰, 무료 전자책 및 독점 거래를 확인하십시오!

구독하려면 여기를 클릭하세요.