[하루 셸 명령] 텍스트 내용 작업 시리즈 - sed 보충

4137 단어 shellsed

이것 은 sed 명령 과 옵션 에 대한 비교적 전면적 인 보충 으로 주로 인터넷 에서 수집 한 예 이다.
1p 명령
명령 p 는 모드 공간의 내용 을 표시 하 는 데 사 용 됩 니 다.기본적으로 sed 는 입력 줄 을 화면 에 인쇄 합 니 다. 옵션 - n 은 기본 인쇄 작업 을 취소 하 는 데 사 용 됩 니 다.옵션 - n 과 명령 p 가 동시에 나타 날 때 sed 는 선택 한 내용 을 인쇄 할 수 있 습 니 다.
sed '/my/p' datafile\# 기본 적 인 상황 에서 sed 는 모든 입력 줄 을 표준 출력 에 인쇄 합 니 다.어떤 줄 이 패턴 my 와 일치 하면 p 명령 은 이 줄 을 다시 인쇄 합 니 다.sed - n '/my/p' datafile\# 옵션 - n sed 기본 인쇄 를 취소 하고 p 명령 은 일치 하 는 모드 my 줄 을 인쇄 합 니 다.
 
2. d 명령
명령 d 는 입력 줄 을 삭제 하 는 데 사 용 됩 니 다.sed 는 먼저 입력 줄 을 파일 에서 모드 공간 으로 복사 한 다음 이 줄 에 sed 명령 을 실행 하고 마지막 으로 모드 공간의 내용 을 화면 에 표시 합 니 다.명령 d 를 보 내 면 현재 모드 공간의 입력 줄 이 삭제 되 고 표시 되 지 않 습 니 다.
 sed '$d' datafile\# 마지막 줄 을 삭제 하고 나머지 는 sed '/my/d' datafile\# my 를 포함 한 줄 을 삭제 하고 나머지 는 모두 표 시 됩 니 다.
 3. s 명령
 sed 's/^ My/You/g' datafile\# 명령 끝의 g 는 줄 내 에서 전역 적 으로 바 꾸 는 것 을 나타 낸다. 즉, 한 줄 에 여러 개의 My 가 나타 나 면 모든 My 가 You 로 바 뀌 는 것 이다.sed - n '1, 20s/My $/You/gp' datafile\# 기본 출력 을 취소 하고 1 ~ 20 줄 에서 My 로 끝 나 는 줄 을 처리 하 며 줄 안의 모든 My 를 You 로 바 꾸 고 화면 에 인쇄 합 니 다.
sed 's\# My\# Your\# g' datafile\# s 명령 에 바짝 붙 어 있 는 문 자 는 문자열 과 바 꾸 기 문자열 사이 의 구분 자 를 찾 는 것 입 니 다.구분자 기본 값 은 정사각형 이지 만 변경 할 수 있 습 니 다.어떤 문자 (줄 바 꾸 기, 역 사선 제외) 든 s 명령 을 따 르 면 새로운 문자열 구분자 가 됩 니 다.
 4 e 옵션
- e 는 여러 편집 작업 을 수행 하 는 데 사용 되 는 편집 명령 입 니 다.다음 줄 에서 편집 을 시작 하기 전에 모든 편집 동작 은 모드 버퍼 의 줄 에 적 용 됩 니 다.
 sed -e '1,10d'-e 's/My/Your/g' datafile  #옵션 - e 는 다 중 편집 에 사 용 됩 니 다.첫 번 째 편집 은 1 - 3 줄 을 삭제 합 니 다.두 번 째 편집 은 나타 난 모든 My 를 Your 로 바 꿉 니 다.이 두 명령 을 한 줄 씩 편집 하기 때문에 편집 명령 의 순 서 는 결과 에 영향 을 줄 수 있 습 니 다. 
 5 r 명령 
r 명령 은 명령 을 읽 는 것 이다.sed 는 이 명령 을 사용 하여 텍스트 파일 의 내용 을 현재 파일 의 특정한 위치 에 추가 합 니 다. 
 sed '/my/r introduce. txt' datafile\# 파일 datafile 의 한 줄 이 모드 My 와 일치 하면 이 줄 뒤에 파일 introduce. txt 의 내용 을 읽 습 니 다.My 줄 이 한 줄 이 아니라면 My 줄 이 나타 난 후에 introduce. txt 파일 의 내용 을 읽 습 니 다.
 6 w 명령
 sed -n '/hrwang/w me.txt' datafile
 
7 a\명령
a\명령 은 추가 명령 입 니 다. 현재 줄 (모드 버퍼 의 줄 을 읽 는 것) 뒤에 새 텍스트 를 추가 합 니 다.추 가 된 텍스트 줄 은 sed 명령 아래 다른 줄 에 있 습 니 다.추가 내용 이 한 줄 을 초과 하려 면 모든 줄 이 반사 선 으로 끝나 야 하 며 마지막 줄 은 제외한다.마지막 줄 은 따옴표 와 파일 이름 으로 끝 납 니 다.
sed '/^ hrwang/a\\> hrwang and mjfan are husband\\> and wife' datafile\# datafile 파일 에서 hrwang 으로 시작 하 는 줄 과 일치 하 는 줄 을 발견 하면 이 줄 아래 에 hrwang and mjfan are husband and wife 를 추가 합 니 다.
 
8 i\명령
i\명령 은 현재 줄 앞 에 새 텍스트 를 삽입 합 니 다.
9 c\명령
sed 이 명령 을 사용 하여 기 존 텍스트 를 새 텍스트 로 수정 합 니 다.
명령
sed 는 이 명령 을 사용 하여 입력 파일 의 다음 줄 을 가 져 오고 모드 버퍼 에 읽 습 니 다. 모든 sed 명령 은 줄 이 붙 어 있 는 다음 줄 에 적 용 됩 니 다.
 sed '/hrwang/{n;s/My/Your/;}' datafile
= 주: 여러 명령 을 사용 하거나 주소 범위 내 에 주 소 를 끼 워 넣 어야 할 경우 괄호 로 명령 을 묶 어야 합 니 다. 줄 마다 명령 만 쓰 거나 같은 줄 의 여러 명령 을 분점 으로 나 누 어야 합 니 다.
11 y 명령
이 명령 은 UNIX/Linux 의 tr 명령 과 유사 하 며 문 자 는 1 대 1 로 왼쪽 에서 오른쪽으로 변환 합 니 다.예 를 들 어 y/abc/ABC/는 모든 소문 자의 a 를 A 로, 소문 자의 b 를 B 로, 소문 자의 c 를 C 로 변환 합 니 다.
 sed '1, 20y/hrwang 12/HRWANG ^ $/' datafile\# 1 부터 20 줄 까지 모든 소문 자 hrwang 을 대문자 로 변환 하고 1 을 ^ 로 변환 하 며 2 를 $로 변환 합 니 다.\#정규 표현 식 메타 문 자 는 y 명령 에 작용 하지 않 습 니 다.s 명령 의 구분자 와 마찬가지 로 사선 은 다른 문자 로 바 꿀 수 있 습 니 다.
 12 q 명령
q 명령 은 sed 프로그램 을 종료 시 키 고 다른 처 리 를 하지 않 습 니 다.

  
  
  
  
  1. sed '/hrwang/{s/hrwang/HRWANG/;q;}' datafile  

13 h 명령 과 g 명령
\# cat datafile My name is hrwang. Your name is mjfan. hrwang is mjfan 's husband. mjfan is hrwang' s wife. sed - e '/hrwang/h' - e '$G' datafile sed - e '/hrwang/H' - e '$G' datafile\# 위의 두 명령 을 통 해 h 는 원래 임시 저장 버퍼 의 내용 을 제거 하고 최근 h 를 실행 할 때 저 장 된 모드 공간의 내용 만 저장 하 는 것 을 발견 할 수 있 습 니 다.H 명령 은 hrwnag 와 일치 하 는 줄 을 임시 저장 버퍼 에 추가 로 저장 합 니 다.sed - e '/hrwang/H' - e '$g' datafile sed - e '/hrwang/H' - e '$G' datafile\# 위의 두 명령 을 통 해 g 가 임시 저장 버퍼 의 내용 을 모드 공간 에서 현재 줄 의 내용 으로 바 꾸 었 음 을 발견 할 수 있 습 니 다. 여기 서 마지막 줄 을 바 꾸 었 습 니 다.G 명령 은 모드 공간의 현재 줄 에 임시 저장 버퍼 의 내용 을 추가 합 니 다.여기 가 바로 끝으로 추가 되 었 다.

좋은 웹페이지 즐겨찾기