Linux 기초 관리 - 텍스트 처리 (작은 명령 조합 으로 큰 문 제 를 해결)
7374 단어 텍스트처리 명령grepLinux 시스템 기반
서버 에서 로 그 를 처리 하 는 것 은 매우 흔 한 작업 이기 때문에 운영 은 각종 텍스트 도구 에 대해 조회, 분석, 통 계 를 하 는 데 필수 적 인 기본 작업 이다.정규 표현 식, 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
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
파이썬으로 파워 포인트에서 텍스트를 추출! (테이블에도 대응)회의의 의사록등을 메일로 보내는 경우, 슬라이드의 문자만 원하는 경우가 있었으므로, 조금 코드를 써 보았습니다. 테이블의 문자를 빼내는 것이 약간 번거로웠습니다. 같은 폴더에 있는 pptx 확장자를 포함하는 모든 파...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.