sed tr

5304 단어 linuxshellsedtr
sed 는 좋 은 파일 처리 도구 입 니 다. 그 자체 가 파이프 명령 입 니 다. 주로 행위 단위 로 처리 하고 데이터 줄 을 교체, 삭제, 추가, 선택 할 수 있 습 니 다.
sed 명령 행 형식:
         sed [-nefri] 'command' filename        
일반 옵션:
-n
: 조용 (silent) 모드 를 사용 합 니 다.sed 특수 처 리 된 줄 (또는 동작) 만 열 거 됩 니 다.
-e
: 다 중 편집 에 사용
-f
: sed 동작 을 파일 에 직접 쓰 고 - f filename 은 filename 의 sed 동작 을 수행 할 수 있 습 니 다.
-r
sed 의 동작 은 연장 형 정규 표현법 의 문법 을 지원 한다
-i
: 화면 출력 대신 읽 은 파일 내용 을 직접 수정 합 니 다.      
상용 명령:
a
: 추가, 뒤에 문자열 을 연결 할 수 있 습 니 다. 이 문자열 들 은 새로운 줄 에 나타 납 니 다 (현재 다음 줄)
c
: 대체 (전체 줄), 뒤에 문자열 을 연결 할 수 있 습 니 다. 이 문자열 들 은 n1, n2 사이 의 줄 을 대체 할 수 있 습 니 다.
d
삭제
i
: 삽입, i 뒤에 문자열 을 연결 할 수 있 습 니 다. 이 문자열 들 은 새로운 줄 에 나타 납 니 다 (현재 이전 줄)
p
인쇄
s
: 바 꾸 기 (문자열 단위)
's/바 꿀 문자열/새로운 문자열/g'
(끝 에 있 는 g 는 줄 에서 전역 교 체 를 표시 합 니 다)
y
: 교체 (문자 단위 로 일대일 방식 으로 왼쪽 에서 오른쪽으로 전환, tr 와 유사)
 
줄 삭제:
 

  
  
  
  
  1. [root@rhel5 data]# sed '1d' keyword              #删除第一行  
  2. [root@rhel5 data]# sed '$d' keyword              #删除最后一行 
  3. [root@rhel5 data]# sed '1,3d' keyword               #删除第一行到第三行 
  4. [root@rhel5 data]# sed '/opq/,/dca/d' keyword       #删除包含opq到包含dca之间的行 
  5. [root@rhel5 data]# sed '5,$d' keyword               #删除最后一行 
  6. [root@rhel5 data]# sed -e '1,3d' -e '6,8d' keyword  #删除第1到3行和第6到8行之间的内容 

줄 보이 기:
 

  
  
  
  
  1. [root@rhel5 data]# sed -n '1p' keyword           #显示第一行  
  2. [root@rhel5 data]# sed -n '$p' keyword           #显示最后一行 
  3. [root@rhel5 data]# sed -n '2,5p' keyword            #显示第二到第五行 
  4. [root@rhel5 data]# sed -n '7,$p' keyword            #显示第七到最后一行 
  5. [root@rhel5 data]# sed -n '/abc/p' keyword          #查询包含abc的所有行 
  6. [root@rhel5 data]# sed -n '/\$/p' keyword           #查询包括关键字$所在所有行,使用反斜线\屏蔽特殊含义 

줄 수정 (문자열):
 

  
  
  
  
  1. [root@rhel5 data]# sed '1a drink tea' keyword            #第一行后增加字符串"drink tea" 
  2. [root@rhel5 data]# sed '1,3a drink tea' keyword      #第一行到第三行后都增加字符串"drink tea"  
  3. [root@rhel5 data]# sed '1a drink tea
    or coffee' keyword    #第一行后增加多行,使用换行符
     
  4. [root@rhel5 data]# sed '1c Hi' keyword                #第一行代替为Hi 
  5. [root@rhel5 data]# sed '1,2c Hi' keyword                 #第一行到第二行代替为Hi(一二行合并为一行) 
  6. [root@rhel5 data]# sed -n 's/abc/efg/p' keyword          #替换abc为efg 
  7. [root@rhel5 data]# sed -n 's/abc//p' keyword             #删除abc关键字 
  8. [root@rhel5 data]# sed -i '$a bye' keyword               #在文件keyword中最后一行直接输入"bye" 
  9. [root@rhel5 data]# sed '/abc/r text' keyword             #将txet文件中内的文本内容添加到包含abc的所有行后面 
  10. [root@rhel5 data]# sed '1,5y/abc12/ABC89/' keyword       #将1到5行中所有的a替换为A,b替换为B,c替换为C,1替换为8,2替换为9 

=============================================================================
tr
tr 를 사용 하면 sed 의 많은 기본 적 인 기능 을 실현 할 수 있 습 니 다.tr 를 sed 로 간략화 할 수 있 습 니 다 (문자 단위)
용법: tr [- cdst] 집합 1 [집합 2]...
-c
집합 1 의 문자열 로 바 꾸 고 문자 집합 을 ASCII 로 요구 합 니 다.
-d
집합 1 의 모든 입력 문자 삭제
-s
반복 되 는 모든 문자 시퀀스 를 삭제 하고 첫 번 째 만 유지 합 니 다.
-t
첫 번 째 문자 집합 이 두 번 째 문자 집합 보다 많은 문 자 를 먼저 삭제 합 니 다.
 

  
  
  
  
  1. [root@rhel5 data]# ls| tr ' ' '
    '
                      #将空格替换为换行 
  2. [root@rhel5 data]# tr abc12 ABC89 <keyword       #将a替换为A,b替换为B,c替换为C,1替换为8,2替换为9 
  3. [root@rhel5 data]# tr [a-z] [A-Z] <keyword          #将小写替换为大写 
  4. [root@rhel5 data]# tr [0-9] [a-j] <keyword          #将数字0-9替换为a-j 
  5. [root@rhel5 data]# tr -d linux123 <keyword          #删除文件中的 l i n u x 1 2 3 (字符,而非字符串) 
  6. [root@rhel5 data]# tr -s [0-9] <keyword             #删除文本中重复出现的数字 

좋은 웹페이지 즐겨찾기