하루 셸 명령 Liux 텍스트 내용 작업 시리즈-grep 명령 상세 설명
Linux 시스템 에서 grep 명령 은 강력 한 텍스트 검색 도구 입 니 다.정규 표현 식 으로 텍스트 를 검색 하고 일치 하 는 줄 을 인쇄 할 수 있 습 니 다.grep 는 전역 정규 표현 식 버 전 을 나타 내 는 Global Regular Expression Print 라 고 합 니 다.사용 권한 은 모든 사용자 입 니 다.
셸,perl,python 은 텍스트 작업 의 전문가 언어 이 고 앞으로 우리 가 배 울 것 은 셸 의 익살 인 텍스트 작업 입 니 다.다음은 가장 흔히 볼 수 있 는 것 중 하 나 를 언급 합 니 다.
grep
이것 은 텍스트 내용 의 중량급 선수 라 고 할 수 있 으 며,어떤 규격 에 따라 수천 줄 의 텍스트 파일 에서 필요 한 데 이 터 를 찾 을 수 있다.그 는 정규 표현 식 과 마스크 를 받 아들 일 수 있다.
기본 인 스 턴 스:
1.명령 번역 은 주어진 match 를 포함 합 니 다.pattern 의 텍스트 줄,예 를 들 어 grep.txt 에서 PATTERN 을 찾 습 니 다.
grep PATTERN grep.txt
or grep "PATTERN" grep.txt
2.여러 파일 일치
grep PATTERN grep.txt grep1.txt
3.stdin 에서 읽 기
echo Ce "this is a wordnext line" | grep word
print 인쇄:this is a word 워드
4.grep 와 정규 표현 식
grep CE "[a-z]+"
혹은
egrep "[a-z]+"
5.현재 줄 대신 일치 하 는 부분 만 출력
echo this is line. | greip Co CE "[a-z]+\."
출력:line
6.인쇄 제외 match 포함pattern 줄 이외 의 모든 줄,사용 가능
grep -v match_pattern file
7.텍스트 나 파일 에 일치 하 는 문자열 을 포함 하 는 글자 수 를 통계 합 니 다(이 면접 에 서 는 자주 묻 습 니 다)
$grep -c "text" filename
그러나 그 가 제시 한 것 은 일치 하 는 횟수 가 아니 라 일치 하 는 횟수 이다.
매 칭 수량 을 집계 하면 아래 의 기술 을 사용 할 수 있 습 니 다.
$echo Ce "1 2 3 4hello5 6"| egrep -o "[0-9]" | wc Cl
인쇄 1 부터 6 까지|stdin 에서 숫자 를 읽 고 줄 을 나 누 어 인쇄|줄 수 를 통계 합 니 다.
8.줄 번호 인쇄
grep "text" -n filename
9.파일 2 개 와 줄 번 호 를 검색 하면 출력 은 파일 이름 을 인쇄 합 니 다.
grep "text"Cn s1.txt s2.txt
10.어떤 파일 에 단어 가 있 는 지 알 고 싶다 면 PATTERN
grep Cl PATTER s1.txt s2.txt
-L 은 일치 하지 않 는 파일 목록 을 되 돌려 줍 니 다.
11.모든 디 렉 터 리 에서 단 어 를 찾 을 수 있 습 니 다.PATTERN 은 그 파일 에 있 습 니 다.
grep PATTERN . -R -n
12 동시에 여러 일치 찾기
echo this is a line of text | grep -e "this" -e "line" -o
인쇄:
this
line
13.적당 한 파일 에서 만 검색
grep "main()" .-r --include *.{c,cpp}
.c 와.cpp 가 끝 난 파일 에서 만 main()을 검색 합 니 다.
14.검색 을 통 해 일부 파일 을 제거 합 니 다.
grep "main()" . -r --exclude "README"
모든 파일 이름 이'README'인 파일 을 제 외 했 습 니 다.
15 인쇄 가 이전 이나 그 후의 세 줄 과 일치 합 니 다.
seq 10|grep 5 CA 3 이전
seq 10|grep 6 CB 3 이후
16 인쇄 일치 전후 3 줄 동시 출력
seq 10 | grep 5 CC 3
어디 보 자--help
: grep [ ]... PATTERN [FILE]...
FILE PATTERN。
PATTERN ( BRE)。
: grep -i 'hello world' menu.h main.c
:
-E, --extended-regexp PATTERN ( ERE)
-F, --fixed-strings PATTERN 。
-G, --basic-regexp PATTERN ( BRE)
-P, --perl-regexp PATTERN Perl
-e, --regexp=PATTERN PATTERN
-f, --file=FILE FILE PATTERN
-i, --ignore-case
-w, --word-regexp PATTERN
-x, --line-regexp PATTERN
-z, --null-data 0 ,
:
-s, --no-messages
-v, --invert-match
-V, --version
--help
--mmap
Output control:
-m, --max-count=NUM stop after NUM matches
-b, --byte-offset print the byte offset with output lines
-n, --line-number print line number with output lines
--line-buffered flush output on every line
-H, --with-filename print the file name for each match
-h, --no-filename suppress the file name prefix on output
--label=LABEL use LABEL as the standard input file name prefix
-o, --only-matching PATTERN
-q, --quiet, --silent
--binary-files=TYPE TYPE ;
TYPE `binary', `text', `without-match'
-a, --text --binary-files=text
-I --binary-files=without-match
-d, --directories=ACTION ;
ACTION `read', `recurse', `skip'
-D, --devices=ACTION 、 、 ;
ACTION `read' `skip'
-R, -r, --recursive --directories=recurse
--include=FILE_PATTERN FILE_PATTERN
--exclude=FILE_PATTERN FILE_PATTERN
--exclude-from=FILE FILE
--exclude-dir=PATTERN PATTERN 。
-L, --files-without-match FILEs
-l, --files-with-matches FILES
-c, --count FILE
-T, --initial-tab tabs ( )
-Z, --null FILE
:
-B, --before-context=NUM NUM
-A, --after-context=NUM NUM
-C, --context=NUM NUM
-NUM --context=NUM
--color[=WHEN],
--colour[=WHEN] ;
WHEN `always', `never' `auto'
-U, --binary CR (MSDOS )
-u, --unix-byte-offsets CR , (MSDOS )
‘egrep' ‘grep -E'。‘fgrep' ‘grep -F'。
‘egrep' ‘fgrep' 。
FILE , FILE -, 。 FILE
-h 。 , 0, 1;
, -q , 2。
대부분의 기능 은 인 스 턴 스 에 붙 어 있 습 니 다.제 이 블 로그 에 서 는 주로 책 인 을 참고 합 니 다.더 공부 할 시간 이 넉넉 하 다 고 생각한다 면 이 책 을 직접 구입 하 는 것 도 좋다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
용감한 바로 가기 및 우분투 응용 프로그램안녕하세요 여러분, 이 기사에서는 모든 사이트에서 pwa를 생성하고 실행기 응용 프로그램으로 추가하는 방법을 설명하고 싶습니다. 일부 웹사이트는 PWA로 설치를 허용하지 않지만 유사한 애플리케이션을 원합니다. 1. ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.