grep 명령에 대한 심층적인 이해: grep에서 정규식 적용
소개 | Linux 및 Unix 계열 시스템에서 Grep 명령의 정규식을 어떻게 사용합니까? Linux에는 확장 정규식을 지원하는 GNU grep 명령 도구가 함께 제공되며 GNU grep은 모든 Linux 시스템에 기본적으로 포함되어 있습니다. Grep 명령은 서버나 워크스테이션에 저장된 정보를 검색하고 찾는 데 사용됩니다. |
정규식은 입력의 각 줄을 일치시키는 데 사용되는 패턴입니다. 패턴은 일련의 문자를 나타냅니다. 예는 다음과 같습니다.
으아악 grep 정규 표현식 예/etc/passswd 디렉토리에서 'vivek'을 검색하세요
으아악출력 예:
으아악어떤 경우에도 vivek을 검색하세요(예: 대소문자를 구분하지 않는 검색)
으아악어떤 경우든 vivek 또는 raj를 검색하세요
으아악위의 마지막 예는 확장된 정규식 패턴을 보여줍니다.
앵커^ 및 $ 기호를 사용하여 입력 줄의 시작 또는 끝을 일반 일치시킬 수 있습니다. 다음 검색 예에서는 vivek으로 시작하는 입력 줄만 표시합니다.
으아악출력 예:
으아악vivek라는 단어로 시작하는 줄만 검색할 수 있습니다. 즉, vivekgit, vivekg 등은 표시하지 않습니다. (LCTT 번역: 단어 뒤에 공백, 기호 등의 영어 단어 구분 기호가 옵니다.)
으아악단어 word로 끝나는 줄 찾기:
으아악foo를 포함하는 줄만 일치:
으아악아래 예시에서는 빈 줄을 검색할 수 있습니다.
으아악 캐릭터 클래스Vivek 또는 vivek 일치:
으아악또는
으아악숫자도 일치할 수 있습니다(예: vivek1 또는 Vivek2 등과 일치):
으아악두 개의 숫자 문자(예: foo11, foo12 등)와 일치할 수 있습니다.
으아악숫자에만 국한되지 않고 문자 하나 이상 일치:
으아악"w" 또는 "n" 문자가 포함된 모든 줄 표시:
으아악괄호 안의 표현, 즉 "[:"와 ":]" 사이에 있는 문자 클래스의 이름은 해당 클래스에 속하는 모든 문자의 목록을 나타냅니다. 표준 문자 클래스 이름은 다음과 같습니다.
으아악- 영숫자
으아악- 알파벳 문자
으아악- Null 문자: 공백 및 탭
으아악-번호: '0 1 2 3 4 5 6 7 8 9'
으아악- 소문자: 'a b c d e f g h i j k l m n o p q r s t u v w x y z'
으아악- 공백 문자: 탭, 줄 바꿈, 세로 탭, 폼 피드, 캐리지 리턴 및 공백 문자
으아악- 대문자: 'A B C D E F G H I J K L M N O P Q R S T U V W X Y Z'
이 예에서는 모두 대문자와 일치합니다.
으아악 와일드카드"."을 사용하여 단일 문자를 일치시킬 수 있습니다. 이 예는 "b"로 시작하고 "t"로 끝나는 3자 단어와 일치합니다.
으아악여기
단어 앞의 빈 문자열을 일치시키세요
두 글자만 사용하여 모든 줄을 인쇄하세요:
으아악점과 숫자로 시작하는 줄 표시:
으아악 점 문자 탈출IP 주소 192.168.1.254와 일치하는 다음 정규 표현식은 올바르지 않습니다: (LCTT 번역: IP 주소와 일치할 수 있지만 공백 기호가 점이 아닌 유사한 형식과 일치하는 것도 가능합니다)
으아악3개의 점 문자를 모두 이스케이프해야 합니다.
으아악다음 예는 IP 주소만 일치할 수 있습니다. (LCTT 번역: 실제로 IP 주소의 숫자 범위로 인해 이 정규 표현식은 정확하지 않습니다.)
으아악 "-" 기호로 시작하는 일치 패턴을 검색하는 방법은 무엇입니까?'--test--'와 일치하는 문자열을 검색하려면 -e 옵션을 사용하세요. -e 옵션을 사용하지 않으면 grep 명령은 '--test--'를 자체 옵션 매개변수로 구문 분석하려고 시도합니다.
으아악 grep의 "or" 일치를 사용하는 방법은 무엇입니까?다음 구문을 사용하세요:
으아악또는
으아악 grep의 "and" 일치를 사용하는 방법은 무엇입니까?'word1'과 'word2'를 모두 포함하는 모든 줄을 표시하려면 다음 구문을 사용하세요.
으아악 시퀀스 감지를 사용하는 방법은 무엇인가요?다음 구문을 사용하면 문자가 연속해서 반복적으로 나타나는 횟수를 감지할 수 있습니다.
으아악두 번 나타나는 문자 "v"를 일치시키려면:
으아악다음 명령은 "col" 및 "cool"과 일치할 수 있습니다.
으아악다음 명령은 'c' 문자가 3개 이상 포함된 모든 줄을 일치시킵니다.
으아악아래 예는 91-1234567890(예: 2자리 - 10자리) 형식의 휴대폰 번호와 일치합니다.
으아악 grep 명령을 강조 표시하는 방법은 무엇입니까?다음 구문을 사용하세요:
grep --color 正则表达式 文件名
使用如下语法:
grep -o 正则表达式 文件名
限定符 | 描述 |
---|---|
. | 匹配任意的一个字符。 |
? | 匹配前面的子表达式,最多一次。 |
* | 匹配前面的子表达式零次或多次。 |
+ | 匹配前面的子表达式一次或多次。 |
{N} | 匹配前面的子表达式 N 次。 |
{N,} | 匹配前面的子表达式 N 次到多次。 |
{N,M} | 匹配前面的子表达式 N 到 M 次,至少 N 次至多 M 次。 |
- | 只要不是在序列开始、结尾或者序列的结束点上,表示序列范围。 |
^ | 匹配一行开始的空字符串;也表示字符不在要匹配的列表中。 |
$ | 匹配一行末尾的空字符串。 |
\b | 匹配一个单词前后的空字符串。 |
\B | 匹配一个单词中间的空字符串。 |
\< | 匹配单词前面的空字符串。 |
\> | 匹配单词后面的空字符串。 |
egrep 等同于
grep -E
它会以扩展的正则表达式的模式来解释模式。下面来自 grep 的帮助页:
基本的正则表达式元字符 ?、+、 {、 |、 ( 和 ) 已经失去了它们原来的意义,要使用的话用反斜线的版本 /?、/+、/{、/|、/( 和 /) 来代替。 传统的 egrep 并不支持 { 元字符,一些 egrep 的实现是以 /{ 替代的,所以一个可移植的脚本应该避免在 grep -E 使用 { 符号,要匹配字面的 { 应该使用 [}]。
GNU grep -E 试图支持传统的用法,如果 { 出在在无效的间隔规范字符串这前,它就会假定 { 不是特殊字符。
例如,grep -E '{1' 命令搜索包含 {1 两个字符的串,而不会报出正则表达式语法错误。
POSIX.2 标准允许这种操作的扩展,但在可移植脚本文件里应该避免这样使用。
위 내용은 grep 명령에 대한 심층적인 이해: grep에서 정규식 적용의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제











Linux 터미널에서 Python 사용 ...

Apscheduler 타이밍 작업을 MacOS 플랫폼의 서비스로 구성하십시오. Ngin과 유사한 APSCHEDULER 타이밍 작업을 서비스로 구성하려면 ...

언어의 멀티 스레딩은 프로그램 효율성을 크게 향상시킬 수 있습니다. C 언어에서 멀티 스레딩을 구현하는 4 가지 주요 방법이 있습니다. 독립 프로세스 생성 : 여러 독립적으로 실행되는 프로세스 생성, 각 프로세스에는 자체 메모리 공간이 있습니다. 의사-다일리트 레딩 : 동일한 메모리 공간을 공유하고 교대로 실행하는 프로세스에서 여러 실행 스트림을 만듭니다. 멀티 스레드 라이브러리 : PTHREADS와 같은 멀티 스레드 라이브러리를 사용하여 스레드를 만들고 관리하여 풍부한 스레드 작동 기능을 제공합니다. COROUTINE : 작업을 작은 하위 작업으로 나누고 차례로 실행하는 가벼운 다중 스레드 구현.

Web.xml 파일을 열려면 다음 방법을 사용할 수 있습니다. 텍스트 편집기 (예 : 메모장 또는 문자 메시지)를 사용하여 통합 개발 환경 (예 : Eclipse 또는 NetBeans)을 사용하여 명령을 편집하십시오 (Windows : Notepad Web.xml; Mac/Linux : Open -A Texted web.xml).

Linux 시스템과 함께 제공되는 Python 통역사를 제거하는 문제와 관련하여 많은 Linux 배포판이 설치 될 때 Python 통역사를 사전 설치하고 패키지 관리자를 사용하지 않습니다 ...

Linux는 서버 관리, 임베디드 시스템 및 데스크탑 환경으로 사용되는 것이 가장 좋습니다. 1) 서버 관리에서 Linux는 웹 사이트, 데이터베이스 및 응용 프로그램을 호스팅하는 데 사용되어 안정성과 안정성을 제공합니다. 2) 임베디드 시스템에서 Linux는 유연성과 안정성으로 인해 스마트 홈 및 자동차 전자 시스템에서 널리 사용됩니다. 3) 데스크탑 환경에서 Linux는 풍부한 응용 프로그램과 효율적인 성능을 제공합니다.

Debianlinux는 안정성과 보안으로 유명하며 서버, 개발 및 데스크탑 환경에서 널리 사용됩니다. 현재 Debian 및 Hadoop과 직접 호환성에 대한 공식 지침이 부족하지만이 기사에서는 Debian 시스템에 Hadoop를 배포하는 방법을 안내합니다. 데비안 시스템 요구 사항 : Hadoop 구성을 시작하기 전에 Debian 시스템이 Hadoop의 최소 작동 요구 사항을 충족하는지 확인하십시오. 여기에는 필요한 JAVA 런타임 환경 (JRE) 및 Hadoop 패키지 설치가 포함됩니다. Hadoop 배포 단계 : 다운로드 및 unzip hadoop : 공식 Apachehadoop 웹 사이트에서 필요한 Hadoop 버전을 다운로드하여 해결하십시오.

"Debiantrings"는 표준 용어가 아니며 구체적인 의미는 여전히 불분명합니다. 이 기사는 브라우저 호환성에 직접 언급 할 수 없습니다. 그러나 "Debiantrings"가 Debian 시스템에서 실행되는 웹 응용 프로그램을 지칭하는 경우 브라우저 호환성은 응용 프로그램 자체의 기술 아키텍처에 따라 다릅니다. 대부분의 최신 웹 응용 프로그램은 크로스 브라우저 호환성에 전념합니다. 이는 웹 표준에 따라 웹 표준과 잘 호환 가능한 프론트 엔드 기술 (예 : HTML, CSS, JavaScript) 및 백엔드 기술 (PHP, Python, Node.js 등)을 사용하는 데 의존합니다. 응용 프로그램이 여러 브라우저와 호환되도록 개발자는 종종 브라우저 크로스 테스트를 수행하고 응답 성을 사용해야합니다.
