Linux 명령 의 정규 표현 식 메타 문자 해석
4591 단어 Linux
Linux
명령 에 활용 하려 면 아직도 많은 사람들 이 이런 의문 을 가지 고 있 을 것 이 라 고 믿는다. "이런 표기 법 이 이 명령 에 적합 한 지 아 닌 지?"이 세 가지 정규 표현 식 메타 문자 집합 만 알 면 충분 합 니 다.
명령 에 따라 정규 표현 식 문자 의 집합 범위 도 다 릅 니 다.그러나 이론 적 으로 다음 과 같은
3
가지 (2
가지 + 1
개의 부분 집합) 정규 표현 식 메타 문자 집합 만 알 면 충분 하 다.BRE
(기본 정규 표현 식) 메타 문자 집합 ERE
(정규 표현 식 확장) 메타 문자 집합 ERE
의 AWK
부분 집합 GNU
확장 정규 표현 식 메타 문자 집합, Perl
확장 정규 표현 식 메타 문자 집합, JavaScript
확장 정규 표현 식 메타 문자 집합 등 이 있다.그러나 어떤 UNIX
(또는 POSIX
) 환경 에서 도 통용 되 려 면 세 가지 만 기억 하면 충분 하 다.(POSIX
에 국한 되 고 싶 지 않 더 라 도 다른 것 은 대체적으로 ERE
원 의 문자 집합 을 바탕 으로 각자 의 다른 확장 을 더 하 는 것 일 뿐 ERE
만 잘 파악 하면 공부 하 는 데 많은 노력 이 들 지 않 는 다.)각 Linux 명령 은 각각 어떤 메타 문자 집합 에 대응 합 니까?
Linux
명령 에 대해 3
가지 분류 만 있 는 것 을 알 게 된 이상 구체 적 으로 어떤 대응 관 계 를 가 진 것 일 까?아래 표 만 보면 한눈 에 알 수 있다.명령 하 다.
대응 하 는 메타 문자 집합
AWK
ERE 의 AWK 부분 집합
ed
BRE 메타 문자 집합
egrep
ERE 메타 문자 집합
ex
BRE 메타 문자 집합
grep ('- E' 없 음)
BRE 메타 문자 집합
grep (있 습 니 다. - E)
ERE 메타 문자 집합
more
BRE 메타 문자 집합
sed
BRE 메타 문자 집합
vi
BRE 메타 문자 집합
일반적인
grep
명령 (-E
옵션 없 음) 은 일부 ERE
원 문자 집합 에 만 속 하 는 문자 앞 에 \
을 더 하면 ERE
의 규칙 에 따라 역할 을 발휘 할 수 있다.각 메타 문자 집합 에 대한 설명
구체 적 인 이름 이 어느 집합 에 해당 하 는 지 알 았 으 니 각 메타 문자 집합 을 자세히 소개 하 겠 습 니 다.
1. BRE (기본 정규 표현 식) 메타 문자 집합
원 문자 집중 (
BRE
에 국한 되 지 않 음) 원 문 자 는 사용 하 는 장소 에 따라 3
조로 세분 화 할 수 있다.a - 1. 문자열 과 일치 하 는 메타 문자 ([] 외부 에 있 음)
문자
속뜻
^
일치 하 는 문자열 (보통 한 줄) 의 머리
$
일치 하 는 문자열 (보통 한 줄) 의 끝 부분
.
임의의 문자 일치
[…]
[] 에 포 위 된 임의의 문자 와 일치 합 니 다.
[^…]
[] 에 둘러싸 이지 않 은 임의의 문자 와 일치 합 니 다.
*
[반복 횟수 지정] 앞 에 나 온 내용 이 0 번 이상 나 왔어요.
{n}
[반복 횟수 지정] 앞 에 나 온 내용 이 n 번 나 왔어요.
{n,}
[반복 횟수 지정] 앞 에 나 온 내용 이 n 번 나 왔어요.
{m,n}
[반복 횟수 지정] 앞의 내용 이 m 회 이상, n 회 이하 나 왔 습 니 다.
(…)
[내용 지정] 그 포 위 된 내용 은 뒤에 인용 할 수 있 습 니 다.
[규칙 재 활용] n 번 째 (...) 에 둘러싸 인 일치 규칙 을 말 하 며 재 활용 에 사용 합 니 다.예 를 들 어 ^ ([A - Z]) 123 \ \ 1 로 A B C 123 A B C B C C 와 일치 합 니 다.마지막 으로 ABC 123 ABCABC 와 일치 합 니 다.마지막 으로 ABC 123 ABCABC 와 일치 합 니 다.마지막 이전의 \ 1 은 [A - Z] 로 해석 된다.
\x
전의, 예 를 들 어 ^, \ \, 매 칭 에 사용, \ \ \ 매 칭 에 사용 ^, 매 칭 에 사용, \ 자체
a - 2. 문자열 과 일치 하 는 메타 문자 ([] 내부 에 있 음)
문자
속뜻
^
만약 에 뒤 를 바짝 따 르 면 반대 하 는 것 을 대표 합 니 다. 그렇지 않 으 면 [그 자체] 를 대표 합 니 다.
-
하나하나 열거 하 는 것 이 아니 라 일치 하 는 문자 의 범 위 를 간단명료 하 게 지정 하 는 데 사용 합 니 다.
[:word:]
POSIX 문자 클래스 라 고 합 니 다. word 는 alnum (모든 자모 와 숫자), cntrl (모든 제어 문자), lower (모든 소문 자), space (빈 칸, Tab, 줄 바 꿈), alpha (모든 자모), digit (모든 숫자), print (제어 문 자 를 제외 한 모든 문자), upper (모든 대문자), blank (빈 칸, Tab), graph(제어 문자, 공백, Tab 이외 의 모든 문자 등
[.word.]
예 를 들 어 [. hoge.] 는 (hoge) {1,} 에 해당 하지만 자주 사용 되 지 않 습 니 다.
[=x=]
예 를 들 어 [= a =] 는 a, à, â 등 과 일치 할 수 있 지만 이 용법 도 흔 하지 않다.
b. 교 체 된 문자열 을 지정 합 니 다 (sed 등의 s / A / B / 에 있 는 B 부분)
정규 표현 식 은 문자열 을 찾 을 뿐만 아니 라 가공 (교체) 에 도 자주 사 용 됩 니 다.
문자
속뜻
n 번 째 (...) 에 둘러싸 인 내용 바 꾸 기
&
일치 하 는 모든 문자열 을 바 꾸 었 습 니 다.
\x
전의
2. ERE (정규 표현 식 확장) 메타 문자 집합
a - 1. 문자열 과 일치 하 는 메타 문자 ([] 외부 에 있 음)
BRE
을 확 장 했 고 사용 할 수 있 는 원 문 자 는 증가 했다 (예 를 들 어 +
, ?
, |
). 그러나 반드시 BRE
의 용법 을 호 환 하 는 것 은 아니다. 주요 목적 은 글 씨 를 더욱 선명 하 게 쓰 는 것 이다. 예 를 들 어 (
, )
, {
, }
등 번 거 로 운 \
을 쓸 필요 가 없다.문자
속뜻
+
[반복 횟수 지정] 앞 에 나 온 내용 이 1 번 이상 나 왔어요.
{n}
[반복 횟수 지정] 앞 에 나 온 내용 이 n 번 나 왔어요.
{n,}
[반복 횟수 지정] 앞 에 나 온 내용 이 n 번 나 왔어요.
{m,n}
[반복 횟수 지정] 앞의 내용 이 m 회 이상, n 회 이하 나 왔 습 니 다.
(…)
[내용 지정] 그 포 위 된 내용 은 뒤에 인용 할 수 있 습 니 다.
|
[논리 또는] 왼쪽 이나 오른쪽 내용 과 일치 하면 다음 과 같은 쓰기 에 주의 하 십시오 ^ ABD
\x
전의
a - 2. 문자열 과 일치 하 는 메타 문자 ([] 내부 에 있 음)
이 부분 은
BRE
과 같다.b. 교 체 된 문자열 을 지정 합 니 다 (sed 등의 s / A / B / 에 있 는 B 부분)
이 부분 도
BRE
과 같 습 니 다. 하지만...3. ERE 의 AWK 부분 집합
이 부분 에서 가장 중요 한 원 문 자 는 중복 횟수 를 지정 하 는
{
과 }
이다. 실제로 2008
버 전의 POSIX
은 이 원 문 자 를 다시 넣 는 것 을 권장 하지만 현재 각 운영 체제 에 실 장 된 AWK
프로그램 은 ERE
과 거의 통용 되 지 않 는 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
바이너리 파일cat 또는tail, 터미널 디코딩 시 처리 방법cat으로 바이너리 파일을 보려고 할 때 코드가 엉망이 되어 식은땀이 났다. 웹에서 스크롤된 정보의 처리 방법과alias의 설정을 요약합니다. reset 명령을 사용하여 터미널을 재설정합니다.이렇게 하면 고치지 못하...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.