Linux 기초 관리 - 텍스트 처리 (작은 명령 조합 으로 큰 문 제 를 해결)

선언:
    서버 에서 로 그 를 처리 하 는 것 은 매우 흔 한 작업 이기 때문에 운영 은 각종 텍스트 도구 에 대해 조회, 분석, 통 계 를 하 는 데 필수 적 인 기본 작업 이다.정규 표현 식, grep, egrep, tr, sort, 유 니 크 등 흔 한 파일 처리 명령 을 배 울 필요 가 있 습 니 다.
1. 도구 분류
    파일 내용: less 와 cat
    파일 캡 처: head 와 tail
    열 별 추출: cut    키워드 로 추출: grep
2. 도구 모음 집
2.1 파일 내용 보기 명령: cat, tac, rev;
(1)cat
문법:
    cat [OPTION]... [FILE]...

옵션:
-E:       $;
-n:             ;
-A:       ;
-b:      ;
-s:          ;

(2) tac: 행 역방향 보기;
(3) rev: 열 역방향 보기;
2.2 페이지 별로 파일 내용 보기: more, less
(1) more: 페이지 별로 파일 보기;
문법:
    more [OPTIONS...] FILE...

옵션:
-d:          ;

(2) less: 한 페이지 한 페이지 파일 이나 STDIN 출력 을 봅 니 다.
          :
    /  :     ;
    ?  :     ;
    n/N:                 

주: less 명령 은 man 명령 에 사용 되 는 페이지 분할 기 입 니 다.
2.3 텍스트 앞 이나 뒤 줄 내용 보이 기: head, tail, tailf
(1)head
문법:
    head [OPTION]... [FILE]...

옵션:
-c #:      #  
-n #:      # 
-#:     

(2)tail 
문법:
    tail [OPTION]... [FILE]...

옵션:
    -c #:      #      
    -n #:      # 
    -#:     ;
    -f:       fd      ,      ;    --follow=descriptor。
    -F:      ,   —follow=name --retry

(3)tailf
    tail – f 와 같이 파일 이 증가 하지 않 을 때 파일 에 접근 하지 않 습 니 다.
2.4, 열 에 따라 텍스트 컷 추출
문법:
 cut [OPTION]... [FILE]...

옵션:
    -d DELIMITER:      ,  tab    
    -f FILEDS:
    
       FILEDS
       #:  #   ;
       #,#[,#]:       ,  1,3,6;
       #-#:       ,   1-6;
           :1-3,7;
       
    -c      ;
    --output-delimiter=STRING       ;

예제: 파일 이나 STDIN 데이터 의 지정 열 을 표시 합 니 다.
    cut -d: -f1 /etc/passwd    
    cat /etc/passwd | cut -d: -f7
    cut -c2-5 /usr/share/dict/words
    
    [root@Centos6x ~]#cut -d: -f1,3 /etc/passwd
    root:0
    bin:1
    daemon:2

2.5. 파일 붙 여 넣 기 통합
paste: 두 파일 의 동행 번 호 를 한 줄 로 합 칩 니 다.
문법:
    paste [OPTION]... [FILE]...

옵션:
-d    :     ,   TAB
-s :          

예시:
    paste f1 f2    
    paste -s f1 f2
    
    [root@Centos6x ~]#paste f1 f2
        1
    a   2
    s   3
    a   4
    a   5
    s   6
    b
    c
    d

2.6. 텍스트 데이터 통계: wc
역할:
         ,        、   、         。
         STDIN      。

예시:
    # wc story.txt    
    39   237    1901     story.txt
              

일반 옵션:
 -l      ;
 -w        ;
 -c        ;
 -m        ;
 -L            ;

2.7. 텍스트 정리: sort
      ;          STDOUT,       。

문법:
    sort [options] file(s)

일반 옵션:
 -r      (    )  ;
 -n          ;
 -f     ( fold)          ;
 -u   (  , unique)         ;
 -t c     c       ;
 -k X       c     X    ;      ;

2.8, 유일 성 처리: uniq

문법:
 uniq [OPTION]... [FILE]...

옵션:
-c:            ;
-d:         ;
-u:          ;           ;
uniq    sort         :
    sort userlist.txt | uniq -c

2.9 비교 파일: diff
두 파일 간 의 차 이 를 비교 합 니 다.
    diff foo.conf foo2.conf    
    
    5c5
     use_widgets = yes    /    5    (  )/


diff: 명령 의 출력 은 '패 치' 라 는 파일 에 저 장 됩 니 다. - u 옵션 을 사용 하여 '통 일 된 (unified)' diff 형식 파일 을 출력 합 니 다. 패 치 파일 에 가장 적합 합 니 다.
2.10、patch
patch: 다른 파일 에 복 사 된 변경 사항 (신중하게 사용 해 야 합 니 다).
옵션:
-b              

예시:
$ diff -u foo.conf foo2.conf > foo.patch;
$ patch -b foo.conf foo.patch    /       foo.conf  /;

3. 텍스트 삼 총사 - grep 명령
리 눅 스 텍스트 처리 삼 총사: grep, sed, awk;
   grep:    (  : pattern)  ;grep, egrep, fgrep(          )。
 sed: stream editor,      。
 awk: Linux    gawk,       。

grep: Global search REgular expression and Print out the line。
역할: 텍스트 검색 도 구 는 사용자 가 지정 한 '모드' 에 따라 대상 텍스트 를 한 줄 씩 일치 하 게 검사 합 니 다.일치 하 는 줄 을 인쇄 합 니 다.
패턴 (PATTERN): 정규 표현 식 메타 문자 와 텍스트 문자 로 작 성 된 필터 조건 입 니 다.
문법:
grep [OPTIONS] PATTERN [FILE...]

예시:
grep root /etc/passwd
grep "$USER" /etc/passwd
grep '$USER' /etc/passwd
grep `whoami` /etc/passwd

명령 옵션:
    --color=auto:            。
    -v:     pattern     。
    -i:        。
    -n:        。
    -c:        。
    -o:           。
    -q:     ,       。
    
    -A #: after,  # 。
    -B #: before,  # 。
    -C #: context,    # 。
    
    -e:          or  。
        grep –e ‘cat ’ -e ‘dog’ file
    -w:      。
    -E:  ERE,          。。
    -F:   fgrep,        。

4. 정규 표현 식 (REGEX)
REGEXP: 특수 문자 와 텍스트 문자 로 작 성 된 모드 입 니 다. 일부 문자 (메타 문자) 는 문자 의 의 미 를 표시 하지 않 고 제어 나 연결 기능 을 표시 합 니 다.프로그램 지원: grep, sed, awk, vim, less, nginx, varnish 등
정규 표현 식 분류:
           : BRE;
           : ERE;

정규 표현 식 엔진:
          ,              ;
    PCRE( Perl Compatible Regular Expressions)
     :    、    、    、  ;
     man    :man 7 regex

4.1, 기본 정규 표현 식 메타 문자
4.1.1 문자 일치
.          
[]               
[^]               
[:alnum:]      
[:alpha:]            ,   A-Z, a-z
[:lower:]      [:upper:]     
[:blank:]     (      )
[:space:]           ( [:blank:]      )
[:cntrl:]          (  、  、  ...)
[:digit:]       [:xdigit:]      
[:graph:]          
[:print:]      
[:punct:]     

4.1.2 일치 횟수
일치 횟수: 횟수 를 지정 할 문자 뒤에 사용 하여 앞의 문자 가 나타 날 횟수 를 지정 합 니 다.
*           ,  0 。    ,       。
.*          
\?         0 1 
\+           1 
\{n\}        n 
\{m,n\}          m ,  n 
\{,n\}          n 
\{n,\}          n 

4.1.3 위치 고정
위치 닻: 위치 가 나타 난 위치.
^     ,        
$     ,        
^PATTERN$         
^$   
^[[:space:]]*$    
\   \b     ;         
\       

4.1.4 조별 및 후 참조
그룹: \ (\) 하나 이상 의 문 자 를 묶 어 하나의 전체 로 처리 합 니 다. 예 를 들 어 \ (root \) \ +
그룹 괄호 의 패턴 이 일치 하 는 내용 은 정규 표현 식 엔진 에 내부 변수 에 기 록 됩 니 다. 이 변수의 이름 은 \ 1, \ 2, \ 3,... \ 입 니 다.1. 왼쪽 에서 첫 번 째 왼쪽 괄호 와 오른쪽 괄호 사이 의 패턴 에 일치 하 는 문 자 를 나타 낸다.
예 를 들 면
    \(string1\+\(string2\)*\)
    \1 : string1\+\(string2\)*
    \2 : string2

후방 참조: 패턴 자체 가 아 닌 앞의 그룹 괄호 의 패턴 이 일치 하 는 문 자 를 참조 합 니 다.
혹은
  : a\|b: a b C\|cat: C cat \(C\|c\)at:Cat cat

5. egrep 및 확장 정규 표현 식
egrep = grep -E
문법:
    egrep [OPTIONS] PATTERN [FILE...]

정규 표현 식 의 메타 문자 확장:
문자 일치:
    .           
    []        
    [^]          

횟수 일치:
    *:             
    ?: 0 1 +: 1    
    {m}:  m 
    {m,n}:  m,  n 

위치 고정:
    ^ :      
    $ :  
    \, \b :  

그룹 및 후방 참조:
    ():    
        : \1, \2, ...

또는: |
    a|b: a b    
    C|cat: C cat
    (C|c)at:Cat cat

좋은 웹페이지 즐겨찾기