Linux 학습 일기 - sed 의 총화

리 눅 스 텍스트 삼 총사 --- sed
sed 가 뭐 예요?sed 는 정규 표현 식 을 지원 하 는 비 대화 형 흐름 편집기 입 니 다. stream editor - 이 편집기 의 흐름 은 텍스트 흐름 을 대표 합 니 다.sed 는 텍스트 의 내용 을 수정 하고 교체 하 는 데 사용 할 수 있 습 니 다. 텍스트 의 가공 공장 으로 이해 할 수 있 습 니 다. 작업 방식 은 첫 줄 부터 한 줄 한 줄 처리 해 야 할 데 이 터 를 가공 하 는 것 입 니 다.
sed 상용 방법
-i
원본 파일 의 내용 을 수정 할 수 있 습 니 다 - 이 용법 이 중요 합 니 다.
-n
일치 하 는 줄 만 표시 합 니 다. - n 이 없 으 면 모든 내용 을 출력 합 니 다.
-r
확장 정규 표현 식 지원
-f
스 크 립 트 파일 에서 명령 을 읽 고 실행 합 니 다.
-e
여러 편집 명령 실행 (사용 가능; 대체 가능)
sed 상용 편집 명령 과 방법의 조합 요약
p: print 인쇄 일치 줄
sed -n '3,7p'       #      3   7     

sed -n '1p;3p;5p'     #       1、3、5     

sed -n '1,$p'      #      1       

sed -n '2,+2p'      #       ,      ,          

sed -n '5,100!p'     #     5   100  ,   !p        

sed -n '1~2p'     #     ,  1   ,    2   ,             

sed -n '/bash/p'     #       bash   
      sed          egrep bash     awk '/bash/'         

보통 p 는 n 과 함께 사용 되 고 n 과 p 는 황금 파트너 라 는 것 을 기억 해 야 한다.
d: delete 지정 한 줄 삭제
sed '3,5d'     #    3-5  

sed '/2/d'     #        2   

sed 'etc3/!d'     #   etc3               !d       

여기 서 특히 주의해 야 합 니 다. - n 뒤에 편집 명령 d 를 사용 할 수 없습니다. 왜냐하면 물건 이 삭 제 된 후에 표시 되 지 않 기 때 문 입 니 다!
a: append 일치 하 는 줄 뒤에 S 추가
sed '1a ameame'     #          ameame    

그리고 주의해 야 할 것 은 이 추가 가 다른 줄 에서 추 가 됩 니 다.
s: substitute 문자열 대체 핵심 기능
sed 's/  1/  2/' filename #           1     2            !!!

sed 's/  1/  2/2' # filename           1     2

sed 's/  1/  2/g' filename #          1     2

sed 's/  1/  2/2p' filename #                    1     2             

sed '/^#/ s/  1/  2/'  filename  #       #             1     2
		
\t tab \s sed sed -n '2,10 s/^/#/' filename # # sed -i '/ 1/ s/ 2/ /' filename # 1

w: write 텍스트 쓰기 이 기능 은 대단 하지 않 습 니 다. 적 게 사용 합 니 다.
sed '/^#/!w xxx.txt' filename   #        #        xxx.txt   ```

r: read 파일 의 내용 을 읽 는 데 자주 사용 되 지 않 습 니 다.
c: 줄 바 꾸 기
sed -i '1c  xxxxxx' filename             xxxxxx

sed -i '/^#Port/c Port 2233' sshd_config
	      #  #Port            Port 2233  sshd_config     

i: insert 일치 하 는 줄 앞 에 삽입
sed '1i qqqqqq' filename  
 #         qqqqqq                      

sed 태그 의 용법 을 보충 합 니 다.
echo aa bb cc | sed -r 's/([a-z]+) ([a-z]+) ([a-z]+)/\3 \2 \1 /'
#      : cc bb aa                 

다음은 리 눅 스 텍스트 삼 총사 중 다른 두 개 – grep 와 awk

좋은 웹페이지 즐겨찾기