Zsh 개발 가이드 (네 번 째 문자열 처리 어댑터)

3222 단어
독 서 를 지도하 다
문자열 처리 시리즈 의 세 번 째 글 입 니 다.앞의 두 편 은 기본적으로 문자열 처리 에서 자주 사용 되 는 동작 을 덮어 쓰 지만 문자열 일치 에 있어 서 는 자세히 전개 되 지 않 았 습 니 다.
마스크 (glob) 는 셸 의 중요 한 개념 으로 정규 표현 식 의 간략화 버 전 으로 볼 수 있 습 니 다.어댑터 는 문자열 일치 와 파일 이름 검색 등에 매우 유용 합 니 다.이 편 은 문자열 에 맞 는 용법 만 을 말 합 니 다.
어댑터 의 기본 용법
이전에 문자열 일치 판단 을 말 할 때, 어댑터 가 나 타 났 는데, 바로 *$str"* 양쪽 의 별표 입 니 다.
% str1=abcd
% str2=bc

#         
% [[ "$str1" == *"$str2"* ]] && echo good
good

#                 
% [[ *"$str2"* == "$str1" ]] && echo good


별 번 호 는 임의의 수량 (0 개 포함) 과 일치 하 는 임의의 문자 입 니 다.
#             
% [[ abcd == ab?? ]] && echo good
good

#                  
% [[ abcd == abc[bcd] ]] && echo good
good

#              ^,                
% [[ abcd == abc[^de] ]] && echo good
% [[ abcd == abc[^ce] ]] && echo good
good

#              
% [[ a4 == [a-b][2-5] ]] && echo good
good

#           ,          
% [[ B4 == [a-cdddA-B][2-5] ]] && echo good
good

#                 
% [[ 123 == 12<3-4> ]] && echo good
good

#         
% [[ 123 == <100-200> ]] && echo good
good

#        ,       0,      
% [[ 123 == <100-> && 123 ==  ]] && echo good
good

#         ,            0
#                  
# [[ 123 ==  ]] && echo good
good

# ( 1 | 2 | ... )           ,      
%  [[ ab == (aa|ab) ]] && echo good
good

#          -    ^,      ,     
% [[ -^3 == [a-c-][3^-][3^-] ]] && echo good
good


이상 은 어댑터 의 기본 용법 입 니 다. 총괄 해 보 겠 습 니 다.
어댑터
속뜻
*
임의의 문자
?
임의의 문자
[abcd]
abcd 의 임의의 문자
[^abcd]
abcd 를 제외 한 임의의 문자
[a-c]
a 와 c 사이 의 문자
[a-cB-Dxyz]
a 와 c, B 와 D 사이 및 xyz 의 문자
<1-100>
1 과 100 사이 의 정수
0 과 50 사이 의 정수
<100->
100 이상 의 정수
임의의 정수 와 0
([a-c]|<1-100>)
a 와 c 사이 의 한 글자 또는 1 과 100 사이 의 정수
강화 판 어댑터
Zsh 는 강화 판 어댑터 도 지원 하 며 기능 이 더 많 습 니 다.강화 판 어댑터 를 사용 하려 면 코드 에 setopt EXTENDED_GLOB 를 추가 해 야 한다.
어댑터
속뜻
일치 하 는 샘플
^abc
abc 를 제외 한 임의의 문자열
aaa
abc^abc
abc 로 시작 하지만 뒤쪽 은 abc 문자열 이 아 닙 니 다.
abcabd
a*c~abc
a * c 에 맞 지만 abc 문자열 은 아 닙 니 다.
adc
a#
임의의 수량 (0 포함) 개 a
aaa
b##
하나 이상 b
b
(ab)##
하나 이상 ab
abab
(#i)abc
대소 문자 abc 무시
AbC
(#i)ab(#I)c
대소 문자 ab 다음 c 무시
ABc
(#l)aBc
a 와 c 는 대소 문 자 를 무시 하지만 B 는 대문자 aBc 가 필요 합 니 다.
aBC
(#a1)abc
한 글자 의 abc
a2c 또는 ab 또는 abcd
그 밖 에 더 고 급 스 러 운 용법 도 있 으 니 잠시 생략 하 세 요.
총결산
문자열 의 내용 은 먼저 일 단락 되 었 으 나 그 후의 글 은 문자열 과 계속 관련 되 었 습 니 다. 배열 과 해시 표 의 내용 은 보통 문자열 이 고 디 렉 터 리 파일 을 처리 할 때 도 대량의 문자열 작업 과 관련 되 기 때문에 새로운 문자열 처리 방법 이 있 을 것 입 니 다.또한 문자열 을 처리 하 는 새로운 방법 이나 기 교 를 발견 하면 이 몇 편의 글 을 업데이트 할 것 입 니 다.
레 퍼 런 스
http://www.bash2zsh.com/zsh_refcard/refcard.pdf
본 고 는 더 이상 업데이트 되 지 않 습 니 다. 모든 시 리 즈 는 여기 서 유지 보 수 를 업데이트 합 니 다: github. com/goreliu/zshguide
유 료 로 Windows, Linux, Shell, C, C++, AHK, Python, JavaScript, Lua 등 분야 관련 문 제 를 해결 하고 유연 하 게 가격 을 책 정 합 니 다. 상담 을 환영 합 니 다. 위 챗 ly 50247.

좋은 웹페이지 즐겨찾기