셸 프로 그래 밍 - 정규 표현 식
6424 단어 IT 운영
정규 표현 식 은 문자 배열 과 일치 하 는 패턴 에 사용 되 는 문법 규칙 입 니 다.이것 은 주로 문자열 의 패턴 분할, 일치, 찾기 및 교체 작업 에 사 용 됩 니 다.
2. 정규 표현 식 과 마스크
어댑터:
문자
역할.
*
이전 문 자 는 0 번 이나 여러 번 일치 합 니 다.
.
줄 바 꿈 자 를 제외 한 임의의 문자 와 일치 합 니 다.
^
행수 일치.예 를 들 어 ^ hello 는 hello 로 시작 하 는 줄 과 일치 합 니 다.
$
줄 의 끝 과 일치 하 다.예 를 들 어 hello $는 hello 로 끝 나 는 줄 과 일치 합 니 다.
[]
괄호 에서 지정 한 임의의 문자 와 일치 합 니 다. 한 글자 만 일치 합 니 다.예 를 들 어 [aoeiu] 는 임의의 모음 문자 와 일치 하고 [0 - 9] 는 임의의 숫자 와 일치 하 며 [a - z] [0 - 9] 는 작은 글자 와 한 숫자 로 구 성 된 두 글자 와 일치 합 니 다.
[^]
괄호 를 제외 한 임의의 문자 와 일치 합 니 다.예 를 들 어 [^ 0 - 9] 는 임의의 비 숫자 문자 와 일치 하고 [^ a - z] 는 임의의 비 소문 자 를 표시 합 니 다.
\
전의 부.특수 기 호 를 말 하 는 의 미 를 취소 하 는 데 사용 합 니 다.
\{n,\}
앞의 문자 가 마침 n 번 나 타 났 음 을 나타 낸다.예 를 들 어 [0 - 9]\{4\} 은 4 자리 숫자 와 일치 합 니 다.
\{n,m\}
앞의 문 자 는 적어도 한 번, 최대 m 번 나타 나 는 것 을 나타 낸다.예 를 들 어 [a - z]\{6, 8} 6 ~ 8 자리 에 맞 는 소문 자 입 니 다.
보충:?() 확장 정규 수정 ~/. bashrc 프로필 에 속 합 니 다. grep 의 별명 을 짓 고 일치 하 는 색상 으로 alias grep = 'grep – color = auto' 를 표시 합 니 다.
예: * 호의 예시
[root@localhost home]# grep aa* test.txt
a
aa
aaa
aaaa
aaaaa
ab
aabb
예 를 들 어 ".": 줄 바 꿈 자 를 제외 한 임의의 문자 "s. d"와 일치 합 니 다. s 와 d 라 는 두 글자 사이 에 반드시 두 글자 가 있 는 단어 와 일치 합 니 다.
[root@localhost home]# grep "s..d" test.txt
said
soid
sdkdkdkd
"s. * d": s 와 d 자모 사이 에 임의의 문자 가 있 습 니 다.
[root@localhost home]# grep "s.*d" test.txt
said
soid
sdkdkdkd
". *": 모든 내용 과 일치 합 니 다.
[root@localhost home]# grep ".*" test.txt
a
aa
aaa
aaaa
aaaaa
ab
aabb
b
bb
bbb
bbbb
bbbb
said
soid
sdkdkdkd
예 를 들 어 "^"는 줄 의 첫머리 와 일치 합 니 다. "$"는 줄 의 끝 과 일치 합 니 다. "^ M": 대문자 로 시작 하 는 줄 과 일치 합 니 다.
[root@localhost home]# grep "^a" test.txt
a
aa
aaa
aaaa
aaaaa
ab
aabb
"n $": 소문 자 "n"으로 끝 나 는 줄 과 일치 합 니 다.
[root@localhost home]# grep "b$" test.txt
ab
aabb
b
bb
bbb
bbbb
bbbb
"^ $": 빈 줄 표시 와 일치 합 니 다. - n 옵션 을 추가 하고 줄 번 호 를 표시 합 니 다.
[root@localhost home]# grep -n "^$" test.txt
6:
9:
15:
16:
예 를 들 어 "[]": 괄호 에서 지정 한 임의의 문자 와 일치 하고 한 글자 만 일치 합 니 다.
"s [ao] id": s 와 i 자모 사이 에 일치 하거나 a 또는 o 의 문자열 입 니 다.
[root@localhost home]# grep -n "s[ao]id" test.txt
17:said
18:soid
"[0 - 9]": 임의의 숫자 를 포함 하 는 줄 과 일치 합 니 다.
[root@localhost home]# grep -n "[0-9]" test.txt
22:6adfadfadf8
23:jladf8002378
25:ladfjadf7
27:3333333333
29:2222222222
"^ [a - z]": 소문 자로 시작 하 는 줄 과 일치 합 니 다.
[root@localhost home]# grep "^[a-z]" test.txt
a
aa
aaa
aaaa
aaaaa
ab
aabb
b
bb
bbb
bbbb
bbbb
said
soid
sdkdkdkd
jladf8002378
ladfjadf7
"[a - z] $": 소문 자로 끝 나 는 줄 과 일치 합 니 다.
[root@localhost home]# grep "[a-z]$" test.txt
a
aa
aaa
aaaa
aaaaa
ab
aabb
b
bb
bbb
bbbb
bbbb
said
soid
sdkdkdkd
[root@localhost home]# grep "^[a-z]$" test.txt
a
b
[root@localhost home]# grep "^[a-z][a-z]$" test.txt
aa
ab
bb
"[^]": 괄호 를 제외 한 임의의 문자 와 일치 합 니 다.(설명: ^ 괄호 안에 넣 기)
"^ [^ a - z]": 소문 자로 시작 하지 않 는 줄 과 일치 합 니 다.
[root@localhost home]# grep "^[^a-z]" test.txt
6adfadfadf8
3333333333
2222222222
"^ [^ a - zA - Z]": 알파벳 으로 시작 하지 않 는 줄 과 일치 합 니 다.
[root@localhost home]# grep "^[^a-zA-Z]" test.txt
6adfadfadf8
3333333333
2222222222
"\": 전의 문자, 특수 문자 의 의 미 를 상실 시 키 는 역할 "$": 일치 사용 "."끝 줄
[root@localhost home]# grep "\.$" test.txt
6adfadfadf8.
"\{n\}": 앞 에 있 는 문자 가 마침 n 번 "a\{3\}"이 나 타 났 음 을 나타 낸다. a 자모 와 일치 하여 세 번 연속 으로 나타 나 는 문자열 이다.메모: 최소 3 번 반복 합 니 다. 일치 하 는 결 과 는 3 개 이상 의 문자열 로 표 시 됩 니 다.
[root@localhost home]# grep "a\{3\}" test.txt
aaa
aaaa
aaaaa
"[0 - 9]\{3\}": 연속 세 개의 숫자 를 포함 하 는 문자열 과 일치 합 니 다.
정확하게 찾 으 려 면 경계 부 호 를 붙 여야 한다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
centos 에서 nginx 를 컴 파일 하고 ssl 을 지원 합 니 다.nginx 에 ssl 기능 pcre: 주소 재 작성 rewrite 기능 을 지원 하기 위해 일부 운영 체제 에 서 는 yum install pcre - devel 을 사용 하여 설치 해 야 합 니 다. - g 매개 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.