Linux 상용 명령-grep
3624 단어 Linux
grep 명령(Global Regular Expression Print)은 Linux 시스템 의 강력 한 텍스트 검색 도구 로 정규 표현 식 으로 텍스트 를 검색 하고 일치 하 는 줄 을 인쇄 할 수 있 습 니 다.
grep 는 Liux 에서 가장 많이 사용 되 는 3 대 텍스트(awk,sed,grep)처리 도구 중 하나 이기 때문에 그 용법 을 파악 할 필요 가 있 습 니 다.
grep 가족 은 모두 세 명의 구성원 으로 구성 되 어 있다.grep,egrep,fgrep.
사용 형식
grep[옵션]문자열/정규 표현 식[파일]
매개 변수[옵션]
-a --text 。
-A --after-context= , 。
-b --byte-offset , 。
-B --before-context= , 。
-c --count 。
-C --context= - , 。
-d --directories= 。 , grep 。
-e --regexp= 。
-E --extended-regexp 。
-f --file= , , grep , 。
-F --fixed-regexp 。
-G --basic-regexp 。
-h --no-filename , 。
-H --with-filename , 。
-i --ignore-case 。
-l --file-with-matches 。
-L --files-without-match 。
-n --line-number , 。
-q --quiet --silent 。
-r --recursive “-d recurse” 。
-s --no-messages 。
-v --revert-match 。
-V --version 。
-w --word-regexp 。
-x --line-regexp 。
-y “-i” 。
--help 。
상용 매개 변수[옵션]
-c 일치 하 는 줄 만 출력 하 는 수량-i 대소 문자 구분 없 음(단일 문자 에 만 적용)-h 다 중 파일 을 조회 할 때 파일 이름-l 다 중 파일 을 조회 할 때 일치 하 는 문 자 를 포함 하 는 파일 이름-n 일치 하 는 줄 과 줄 번호-s 는 존재 하지 않 거나 일치 하 는 텍스트 가 없 는 오류 정 보 를 표시 하지 않 습 니 다-v 는 일치 하 는 텍스트 를 포함 하지 않 는 모든 줄 을 표시 합 니 다.
작은 따옴표
grep 명령 에 문자열 인 자 를 입력 할 때 두 따옴표 로 묶 습 니 다.예 를 들 어 grep"error code"./log.txt 가 이렇게 하 는 데 는 두 가지 이유 가 있 습 니 다.하 나 는 문자열 매개 변수 가 셸 명령 으로 오해 되 지 않도록 하 는 것 입 니 다.둘 째 는 여러 단어 로 구 성 된 문자열 을 찾 을 수 있다.따옴표 로 묶 지 않 으 면 단어'code'는 파일 로 오 해 를 받 고 검색 결 과 는'파일 이 존재 하지 않 습 니 다'라 는 오류 정 보 를 되 돌려 줍 니 다.
변 수 를 사용 할 때 도 작은 따옴표 를 사용 해 야 합 니 다.예 를 들 어 grep"$ERROR"./log.txt.그렇지 않 으 면 결 과 를 되 돌려 주지 않 습 니 다.
호출 모드 가[정규 표현 식]과 일치 할 때 작은 따옴표:grep'error.*'./log.txt 를 사용 해 야 합 니 다.
주의 하 다.
(1)현재 디 렉 터 리 를 검색 할 때 기본적으로 grep 는 현재 디 렉 터 리 만 검색 합 니 다.이 디 렉 터 리 에 하위 디 렉 터 리 가 많 으 면 grep 는 다음 과 같이 표 시 됩 니 다.
grep "test" ./*
grep: ./TEST: Is a directory
grep: ./oss: Is a directory
grep: ./ UID: Is a directory
이것 은'grep'의 출력 을 읽 기 어렵 게 할 수 있다.하위 디 렉 터 리 검색 을 명 확 히 요구 하 는 두 가지 해결 방법 이 있 습 니 다:grep-r 하위 디 렉 터 리 무시:grep-d skip
(2)특수 기호\\<과\>는 단어의 시작 과 끝 을 각각 표시 합 니 다.예 를 들 어 grep man./*는'Batman','manic','man'등 과 일치 하고 grep'\grep'\'는'man'만 일치 하 며'Batman','manic'등 다른 문자열 이 아 닙 니 다.
'^':줄 의 첫머리 에 일치 하 는 문자열 을 말 합 니 다.'$':줄 끝 에 일치 하 는 문자열 을 말 합 니 다.
실례
# .doc "test"
$ grep "test" *.doc
# log.txt "test"
$ grep -c "test" ./log.txt
# "test"
$ grep -n "test" ./log.txt
# , $ . ‘ ” * [ ] ^ | \ + ? , , '\'
# test.conf
$grep "test\.conf" ./log.txt
# [ ]
$ls -l |grep "^d"
#
$ls -l |grep -v "^d"
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
바이너리 파일cat 또는tail, 터미널 디코딩 시 처리 방법cat으로 바이너리 파일을 보려고 할 때 코드가 엉망이 되어 식은땀이 났다. 웹에서 스크롤된 정보의 처리 방법과alias의 설정을 요약합니다. reset 명령을 사용하여 터미널을 재설정합니다.이렇게 하면 고치지 못하...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.