초보 자 Linux 의 약술 sed 명령

1. sed 작업 원리
  sed (stream editor) 는 스 트림 편집기 이 고 그 자체 도 파이프 명령 입 니 다. 편집 표준 입력 (standard input) 을 분석 할 수 있 습 니 다. 데 이 터 를 교체, 삭제, 추가, 특정 줄 선택 등 을 포함 합 니 다.실행 할 때 행동 단위 로 한 줄 의 내용 만 처리 하기 때문에 줄 편집기 라 고도 부른다.sed 는 정규 표현 식 과 함께 사용 하여 파일 의 반복 작업 을 간소화 할 수 있 습 니 다.
  sed 는 전체 명령 을 실행 할 때 편 집 된 파일 자체 의 내용 이 바 뀌 지 않 았 습 니 다. (- i 옵션 을 추가 하지 않 는 한) sed 는 명령 을 실행 하기 전에 파일 에서 처리 할 줄 을 캐 시 에 임시로 옮 깁 니 다. 이 캐 시 는 '패턴 공간 (pattern space)' 이 라 고 불 린 다음 에 관련 명령 을 실행 하고 처리 결 과 를 표준 출력 장치 에 출력 합 니 다.(예 를 들 어 화면) 다음 줄 을 계속 처리 합 니 다. 마지막 줄 까지 반복 합 니 다. 그러나 때로는 입력 한 명령 이 복잡 합 니 다. 이 줄 은 한 번 만 처리 해도 명령 에 도달 하지 못 하고 다른 처리 가 필요 합 니 다. 어떻게 해 야 합 니까? 이 때 는 공간 유지 (hold space) 에 적용 해 야 합 니 다.공간 을 유지 하 는 것 은 처리 되 지 않 은 줄 을 임시로 보관 하 는 것 이다. 후속 적 인 처리 에서 공간 을 유지 하 는 내용 은 명령 이 완 료 될 때 까지 다시 모델 공간 으로 옮 겨 져 처리 된다. 예 를 들 어 모델 공간 은 가공 현장 에 해당 하고 공간 을 유지 하 는 것 은 창고 에 해당 한다. 가공 할 때 공정 이 부족 하기 때문에 가공 되 지 않 은 반제품 을 임시로 보관 해 야 한다.자, 이 창 고 는 가공 작업장 이 아직 완공 되 지 않 은 반제품 을 보존 하 는 데 쓰 인 다.
문법
sed  [OPTION]... ‘script’ [input-file]...
  :script            

3. 자주 사용 하 는 옵션
-n:    ,               ,      
-e:    ,     script  
 :  /etc/fstab    # UUID    
-f:              
-r:          ,            
-i:       (        )

4. 주소 지정
(1) 주 소 를 주지 않 음 (빈 주소):
         

(2) 단일 주소:
n:     
$:      
/pattern/:          ,  :sed -n '/root/p' /etc/passwd

(3) 범위 주소:
n,+m: n     m      , :3,+5    3   8    
n,m:   n   m    
n,/pattern1/:    n        1          
/pattern1/,/pattern2/:        1            2          
 :sed -n '/^root/,/^adm/p' /etc/passwd

(4) 스텝 (~):
1~2:       
2~2:       

5. 기본 편집 명령
d:         
p:         ,   -n  ,           
a\text:            “\text”,      
:sed '/root/a \magedu.com' /etc/passwd
i\text:            “\text”,      
:sed '2i \magedu.com
homework' /etc/passwd
c\text:              “\text”
 :sed '/^UUID/c \uuid=this is a test' /etc/fsta
w /PATH/TO/SOMEFILE:                   
 :sed -n '/root/w /tmp/user.txt' /etc/passwd
r:                     
 :sed '/root/r /etc/issue' /etc/passwd
=:          
 :sed '/^UUID/=' /etc/fstab
!:    ,    “    !    ”。
s///:    ,   “///”      ,  s@@@,s####
      :
    g:    
    p:        
    w:               
 :sed -n 's@^UUID.*@hello,good man!@w /testdir/tihuan.txt' /etc/fstab
&:               
 :[root@localhost ~]# sed 's@UUID@&hi@g' /etc/fstab: UUID   hi
[root@localhost ~]# sed 's@UUID@hi&@g' /etc/fstab: UUID   hi

6. 고급 편집 명령
h:               
H:               
g:               
G:               
n:                 
N:                 
x:                  
d:        (  )
D:          

7. 예제 (캡 처 는 결과 의 일부분 만 표시)
(1) / etc / passwd 파일 의 짝수 줄 보이 기
(2) 역순 표시 / etc / passwd 파일 내용
(3) / etc / passwd 파일 의 마지막 두 줄 보이 기
(4) 파일 / etc / passwd 줄 마다 빈 줄 추가

좋은 웹페이지 즐겨찾기