Linuxshell 스 크 립 트 의 알 통 증 Sed 프로필 정규 표현 식

Sed 프로필 sed 는 경량급 흐름 편집기 로 stream editor 의 약자 입 니 다.sed 는 행동 단위 로 파일 을 편집 하기 때문에 줄 편집기 라 고도 합 니 다.그것 은 자 료 를 직접 편집 할 필요 가 없 이 편집 작업 을 자동화 할 수 있다.sed 작업 방식: 표준 입력 으로 편집 파일 을 읽 고 한 줄 을 읽 거나 지정 한 줄 을 패턴 공간 에 두 고 모든 편집 명령 을 패턴 공간의 내용 을 하나씩 편집 한 다음 에 결 과 를 표준 출력 으로 출력 하고 패턴 공간 을 지 웁 니 다.다음 줄 의 자 료 를 패턴 공간 에 읽 고 이전 작업 을 반복 하 며 마지막 줄 까지 스 트림 편집기 가 멈 춥 니 다.원본 파일 은 P: 1 로 변 하지 않 습 니 다. 패턴 공간 은 읽 기 줄 이 있 는 캐 시 입 니 다. sed 는 텍스트 줄 을 처리 하 는 데 2, 1 행 작업 을 한 줄 씩 합 니 다. 순서대로 명령 3, sed 명령 을 실행 하고 데 이 터 를 되 돌려 주 는 것 이 거의 동시에 진 행 됩 니 다. 각 줄 의 데 이 터 를 처리 하 는 동시에 결과 4, 파일 내용 에 패턴 공간 이 존재 하고 변 하지 않 습 니 다.리 셋 메모리 출력 을 사용 하지 않 으 면 원본 파일 문법 을 수정 하지 않 습 니 다. 편집 명령 과 파일 로 구 성 된 1,\# sed [sed 옵션] 'sed 명령' 수정 할 파일 > 새 파일 2,\# sed [sed 옵션] - f sed 스 크 립 트 수정 할 파일 3,\# sed 스 크 립 트 [sed 옵션] 수정 할 파일 매개 변수 (sed 옵션):
-e command:--expression=command:      ,            sed    ,        sed     。
    # sed -e '1,5d' -e 's/boy/girl/' dodo
    # sed --expression='1,5d' --expression='s/boy/girl/' dodo
-e script-file:--expression=script-file:     sed              
-f script-file:--filer=script-file:     sed              
-h:--help:    
-i:          (        )
                  ,    :
    # sed -i.bak '1d' filename
-n:--quiet, --silent:       ,         (        )
-r:sed                。(            )
-V:--version:      

sed 명령
a\ :                     。(                "\"  )
b lable:          ":"       ,                  
c\:                   。
d:            
D:                  
g:                          ,               
G:                          ,             
h:                          ,             ,     
H:                          ,                
i\:                      。
l:                            
n:               ,           
N:                    。
p:            
P:                 
q:                    Sed
r file:           
s:                    。(             )
t label:   s          ,   ":"     ,             ,              
T label:   s          ,   ":"     ,             ,              
w:                          
W:                         
x:                   
y:           ,             (          )
: label:       
{} :                
#:                     
=:             
!:                ,             

메타 문자 집합
sed       ,       、  
^:               。 :/^doiido/     doiido    
$:               。 :/doiido$/     doiido    
^$:              
.:                    。 :/d...do/   d   3     ,  do。
*:                     。 :/doiido*/      doiid  ,        o  
[]:                      。 :/[Dd]oiido/       doiido Doiido  
[^]:                       。 :/[^Dd]oiido/        D  d      oiido    
\(..\):             。 :s/\(hello\)doiido/\1baby    hello     1,    hellodoiido    helloboy,      9   
&:                          。 :s/doiido/--&--/,  &       ,doiido   --doiido--
\:              。 :/doiido\>/         doiido       。
x\{m\}:       m x。 :/2\{8\}/         8 2  。 
x\{m,\}:      m x。 :/2\{8,\}/           8 2  。
x\{m,n\}:     m x,    n 。 :/2\{6,8\}/         6  8 2  。

Ps: 메타 문자 $와 일치 하기 전에 반사 선\\을 사용 하여 특별한 의 미 를 차단 해 야 합 니 다.예 를 들 어/\$/문자 클래스 확장:
[]:             "-"    
[a-z]:                
[0-9]:              
[:space:]:       
[:alnum:]:          [a-z A-Z 0-9]
[:alpha:]:        [a-z A-Z]
[:blank:]:            
[:cntrl:]:            
[:digit:]:        [0-9]
[:graph:]:           (   )
[:lower:]:        [a-z]
[:print:]:          
[:punct:]:         
[:space:]:       
[:upper:]:        [A-Z]
[:xdigit:]:           [0-9 a-f A-F]

문자 클래스 예:
^[0-9]:                       
^[0-9]*:                      
[0-9][0-9]*$:            2   
s/\.$//g :                   
s/^[ ][ ]*//:              
s/^.//:                    
s/^\///:              “/”  
s/SP\(..\)//g:       “SP”             ,“SPLLY”-->“Y”
^#/:               '#'         
/}^/ :               '}'(   )        
/} *^/ :             '}'                     
/[abc]/ :               'a'、'b'   'c'       
/^[abc]/ :           'a'、'b'   'c'         

위치 매개 변수: 기본적으로 sed 편집기 에서 사용 하 는 명령 은 모든 텍스트 데이터 줄 에 적 용 됩 니 다.특정한 데이터 줄 이나 텍스트 데이터 줄 에 만 명령 을 적용 하려 면 줄 주 소 를 사용 해 야 합 니 다.줄 주 소 는 주소 지정 을 통 해 편집 하고 자 하 는 줄 을 찾 습 니 다. 데이터, 정규 표현 식 또는 양자 결합 방식 으로 확 정 됩 니 다.줄 주소 지정 형식 은 다음 과 같은 몇 가지 가 있 습 니 다.
x                      x     
$                          
x,y                       x y     
/pattern/                      
/pattern/pattern/                
/pattern/,x              pattern     x      
x,/pattern/             x    pattern        
x,y!                      x y    

주소 매개 변수의 개수: 주소 매개 변수 가 1 개 일 때 위치 매개 변수 에 맞 는 자료 줄 만 편집 할 수 있 음 을 표시 합 니 다. 2 개의 주소 매개 변수 가 있 을 때, 예 를 들 어 x, y 일 때 x 에서 y 의 줄 범위 자료 구역 에 대한 편집 을 표시 합 니 다.(x 와 y 포함) 따옴표 문법 1, 작은 따옴표 에서 $와 뒤의 따옴표 '에 대해 설명 하고 실행 하지 않 습 니 다. 즉, 이 두 달 을 일반 문자 2, 작은 따옴표 로 삼 으 면 달러 부 호 는 변수 나 매개 변수의 값 으로 전개 되 고 따옴표 의 명령 이 실행 되 며 출력 결과 로 뒤의 따옴표 의 내용 을 대체 합 니 다.따라서 평소에 작은 따옴표 '를 사용 하고 변 수 를 사용 할 때 작은 따옴표' 를 사용 합 니 다. '변 수 를 사용 할 때'\# sed '/$hello/d' dodosed 종료 상태: 1. 지정 한 모드 를 찾 든 말 든 종료 상 태 는 0 입 니 다.2. 명령 에 문법 오류 가 있 을 때 sed 의 종료 상 태 는 0 이 아 닙 니 다.전의: 슬 래 쉬 "/"를 사용 하려 면 먼저 옮 겨 야 합 니 다. 전 의 는 보통 다음 과 같은 두 가지 가 있 습 니 다. 1: [/] 2:\/한 줄 에 여러 개의 문 구 를 사용 하고 명령 사이 에 분 호 를 사용 합 니 다.\# sed - n '=;p 'dodo 2, 대괄호 사용\# sed - n' 3 {> = > p} 'dodo 3, 사용 - e 인자\# sed - n - e' = '- e' p 'dodo 4, 스 크 립 트 파일 을 사용 한 다음 - f 참조\# sed - f scirpt dodo 5, bash 셸 에서 차 알림 부호' '\# sed - i' > s/boy/girl/> s/hello/byebye/'data 를 사용 하면 그의 sed 사용 주의: 1, 주 소 를 사용 하지 않 으 면 명령 은 모든 줄 2,기본 적 인 경 우 는 각 줄 에 처음 나타 나 는 텍스트 만 바 꿀 수 있 습 니 다. 한 줄 에 여러 개의 바 꿀 텍스트 가 있 으 면 태그 3 을 바 꿔 야 합 니 다. 특수 문 자 를 찾 으 려 면 '\' 또는 '[]' 를 사용 하여 그 특수 한 의 미 를 차단 해 야 합 니 다. = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = 스 크 립 트: Sed 스 크 립 트 는 파일 에 쓰 인 sed 명령 입 니 다.Sed 를 시작 할 때 - f 옵션 으로 스 크 립 트 파일 이름 을 유도 합 니 다.스 크 립 트 작업 방식: 스 크 립 트 를 실행 할 때 sed 는 입력 파일 의 첫 줄 을 모드 공간 으로 복사 한 다음 스 크 립 트 의 모든 명령 을 실행 합 니 다.한 줄 처리 가 끝 난 후, sed 는 파일 의 다음 줄 을 모드 공간 으로 복사 하여 스 크 립 트 의 모든 명령 을 실행 합 니 다.마지막 줄 까지.스 크 립 트 주의 항목: 1. 스 크 립 트 에 서 는 명령 의 끝 에 공백 이나 텍스트 가 있어 서 는 안 됩 니 다. 2. 한 줄 에 여러 명령 이 있 으 면 분점 으로 구분 해 야 합 니 다.3.\# 로 시작 하 는 행동 주석 줄 이 며 줄 을 뛰 어 넘 을 수 없습니다.스 크 립 트 형식:\#!/bin/sed - fcand1command 2 스 크 립 트 인 스 턴 스:\# cat test. sed\#!/bin/sed - f/hello/a\\hi boy doiido2i\\당신 은 위대 한 권한 을 추가 하고 실행 합 니 다\# chmod u + x test. sed\#./test. sed dodo

좋은 웹페이지 즐겨찾기