sed 명령 프로필

6952 단어 linuxshellsed
sed 명령 프로필
sed 명령 은 스 트림 편집기 (Stream Editor) 라 고도 합 니 다.실제 sed 는 진정한 편집기 가 아 닙 니 다. 초기 파일 의 내용 을 바 꿀 수 없습니다. 줄 에 따라 입력 파일 을 탐색 하고 입력 파일 의 줄 마다 명령 목록 을 실행 합 니 다. 변 경 된 출력 은 레이 블 출력 에 기록 합 니 다. 저장 하려 면 파일 로 다시 설정 해 야 합 니 다.
sed 가 실 현 될 때 먼저 파일 의 줄 마다 줄 번 호 를 입력 하여 파일 의 줄 을 찾 습 니 다.sed 는 각 줄 에 다음 과 같은 동작 을 수행 합 니 다.
  • grep 와 매우 비슷 합 니 다. sed 는 입력 줄 을 모드 공간 에 복사 합 니 다.모드 공간 은 하나 이상 의 텍스트 줄 을 처리 하 는 데 사용 되 는 특정한 버퍼 입 니 다.(메모: grep 의 모드 공간 은 한 줄 만 불 러 옵 니 다)
  • 스 크 립 트 의 모든 명령 을 위 에서 아래로 일치 하 는 명령 에서 지정 한 주소 의 모든 모드 공간 줄 에 순서대로 적용 합 니 다.
  • 모드 공간의 내용 을 출력 파일 에 복사 합 니 다.

  • sed 명령 이 하나 밖 에 없 을 때 키보드 에서 직접 입력 합 니 다.대부분의 경우 sed 는 여러 명령 이 있 습 니 다. 이 명령 들 은 한 파일 에 놓 여 있 습 니 다. 이 파일 은 sed 스 크 립 트 라 고 합 니 다.sed 명령 형식 은 다음 과 같 습 니 다.
    sed [option] [command] [file]
    명령 행 에서 sed 를 사용 할 때 실제 명령 은 작은 따옴표 를 추가 해 야 합 니 다.
    sed 도 작은 따옴표 가 허용 된다.셸 명령 행 방식 이나 스 크 립 트 파일 방식 을 사용 하 든 입력 파일 이 지정 되 지 않 으 면 sed 는 표준 입력 에서 입력 을 받 습 니 다.
    sed 명령 옵션 매개 변 수 는 다음 과 같 습 니 다.
  • n 은 자동 출력 을 금지 하고 sed 는 편집 줄 을 표준 출력 에 쓰 지 않 습 니 다.sed 명령 은 기본적으로 n 을 선택 하지 않 습 니 다. 표준 출력 은 모든 줄 을 표시 합 니 다.
  • p 명령 은 편집 줄 을 인쇄 할 수 있 음 을 표시 합 니 다.
  • c 는 다음 명령 이 편집 명령 임 을 나타 낸다.여러 편집 을 사용 할 때 이 옵션 을 추가 합 니 다.하나의 sed 명령 만 사용 하면 이 옵션 은 쓸모 가 없 지만 지정 해도 괜 찮 습 니 다.
  • f 는 명령 행 옵션 에 따라 sed 스 크 립 트 파일 을 호출 하 는 스 크 립 트 파일 이 있다 고 밝 혔 다.
  • e 기본 옵션.스 크 립 트 는 명령 입 니 다. 명령 행 에 있 습 니 다. 스 크 립 트 파일 이 아 닙 니 다.

  • 형식 1: $sed - e ` address command ` input file
    형식 2: $sed - f scriptfile. sed inputfile
    형식 1 명령 으로 sed 프로그램 실행 하기;형식 2 가지 sed 응용 프로그램 에서 sed 스 크 립 트 를 실행 합 니 다. 스 크 립 트 파일 이름 은 scriptfile. sed 입 니 다. 이 파일 이름 접 두 사 는 'sed' 가 꼭 필요 한 것 이 아 닙 니 다. sed 스 크 립 트 를 강조 하기 위해 'sed 접미사' 로 만 들 었 습 니 다.
    텍스트 조회
    sed 명령 으로 원본 파일 을 처리 할 때 기본 값 은 첫 줄 부터 다음 과 같은 두 가지 방식 으로 텍스트 를 찾 습 니 다.
  • 줄 번 호 를 사용 하면 간단 한 숫자 나 줄 번호 범위 일 수 있 습 니 다.
  • 정규 표현 식 을 사용 합 니 다.

  • sed 명령 으로 텍스트 를 찾 을 수 있 습 니 다.
    x: x 는 줄 번호 입 니 다. 예 를 들 어 1.
    x, y: 줄 번호 범 위 는 x 에서 y 까지, 예 를 들 어 2, 5 는 두 번 째 줄 에서 다섯 번 째 줄 을 나타 낸다.
    /pattern/: 패턴 을 포함 하 는 줄 을 조회 합 니 다. 예 를 들 어/student/또는/[a - z]/.
    /pattern/pattern/:/student 01/student 04/와 같은 두 가지 모드 를 포함 하 는 줄 을 조회 합 니 다.
    /pattern/, x: 주어진 줄 번호 에 모드 를 포함 하 는 줄 을 조회 합 니 다. 예 를 들 어/student/, 3.
    x,/pattern/: 줄 번호 와 패턴 을 통 해 일치 하 는 줄 을 조회 합 니 다. 예 를 들 어 3,/student/.
    x,y!:검색 은 지정 한 줄 번호 x 와 y 의 줄 을 포함 하지 않 습 니 다. 예 를 들 어 1, 2!
    sed 기본 편집 명령
    sed 편집 명령 은 다음 과 같 습 니 다.
    p: 일치 하 는 줄 을 인쇄 합 니 다.
    =: 텍스트 줄 번 호 를 표시 합 니 다.
    a\: 줄 번 호 를 찾 은 후 새 텍스트 정 보 를 추가 합 니 다.
    i\: 줄 번 호 를 찾 은 후 새 텍스트 정 보 를 삽입 합 니 다.
    d: 위치 추적 줄 삭제.
    c\: 포 지 셔 닝 텍스트 를 새 텍스트 로 바 꿉 니 다.
    s: 교체 모드 로 해당 모드 를 교체 합 니 다.
    r: 다른 파일 에서 텍스트 를 읽 습 니 다.
    w: 파일 에 텍스트 를 씁 니 다.
    q: 첫 번 째 모드 가 일치 하면 종료 하거나 즉시 종료 합 니 다.
    l: 8 진 ASCII 코드 와 등가 의 제어 문 자 를 표시 합 니 다.
    {}: 위치 추적 줄 에서 실 행 된 명령 그룹 입 니 다.
    n: 다른 파일 에서 다음 줄 을 읽 고 다음 줄 에 추가 합 니 다.
    g: 모드 2 를/pattern n/에 붙 여 넣 습 니 다.
    y: 전송 문자.
    n: 다음 입력 줄 로 연장 하기;넓 은 줄 의 패턴 일치 문 구 를 허용 합 니 다.
    실례:
    1. 전체 파일 을 표시 합 니 다.
    
      
      
      
      
    1. $sed -n '1,$p' artile.txt 

    2. ble 로 끝 나 는 단어 와 일치 합 니 다.
    
      
      
      
      
    1. $sed -n '/.*ble/p' article.txt 

    3. 문자 일치
    
      
      
      
      
    1. $sed -n '/\$4.00/p'article.txt 

    4. 텍스트 수정. 
    
      
      
      
      
    1. $cat article.txt 
    2.  
    3. Sodd's Second Law: 
    4.  
    5. Sooner or later,the worst possible set of 
    6.  
    7. circumstances is bound to occur. 
    8.  
    9. $cat change.sed 
    10.  
    11. #!/bin/sed -f 
    12.  
    13. /worst/ c\ 
    14.  
    15. more and more 
    16.  
    17. $chmod u+x change.sed 
    18.  
    19. $./change.sed article.txt 
    20.  
    21. Sood's Second Law: 
    22.  
    23. more and more 
    24.  
    25. circumstance is bound to occur. 

    5. 텍스트 삭제
    첫 줄 과 두 번 째 줄 을 삭제 합 니 다.
    
      
      
      
      
    1. $sed '1,2d' article.txt 
    2.  
    3. circumstance is bound to occur. 

    6. 텍스트 바 꾸 기.
    명령 을 바 꾸 는 것 은 지정 한 모드 를 바 꾸 는 데 사 용 됩 니 다. 명령 형식 은 다음 과 같 습 니 다.
    [address[,address]] s/pattern-to-find/replacement-pattern/[gpwn]
    이 옵션 은 다음 과 같 습 니 다.
  • s/pattern - to - find/replacement - pattern 은 sed 가 교체 작업 임 을 알 리 고 pattern - to - find 를 조회 하여 성공 한 후 replacement - pattern 으로 교체 합 니 다.
  • g 는 기본 적 인 상황 에서 처음 나타 난 모드 만 바 꾸 고 g 옵션 을 사용 하여 전체 에 나타 난 모든 모드 를 바 꿉 니 다.
  • p 는 기본 적 인 상황 에서 sed 는 모든 바 뀐 줄 을 표준 출력 에 기록 하고 p 옵션 을 추가 하면 - n 옵션 이 유효 하지 않 습 니 다.
  • w 는 파일 이름 을 표시 합 니 다. 이 옵션 을 사용 하면 출력 을 파일 로 지정 합 니 다.
  • n 은 출력 결 과 를 인쇄 하지 않 음 을 표시 합 니 다.

  • 예 를 들 면:
    전역 e 를 E 로 바 꾸 고 바 꾼 결 과 를 파일 new. txt 에 기록 합 니 다.
    
      
      
      
      
    1. $sed 's/e/E/gw new.txt' artile.txt 

     
    본문 은 '- = 호숫가 대나무 = -' 블 로그 에서 나 왔 습 니 다. 전재 사절!

    좋은 웹페이지 즐겨찾기