awk 정규식 일치 오류가 발생했나요?

awk 정규식 일치 오류가 발생했나요?

awk를 사용할 때 다음 동작을 발견했습니다.

[root@ror6ax3 ~]# grep open * | awk '$2 ~ /opens*/ {print $0}'
install.log:Installing openldap-2.4.23-32.el6_4.1.x86_64
install.log:Installing openssl-1.0.1e-15.el6.x86_64
install.log:Installing openssh-5.3p1-94.el6.x86_64
install.log:Installing openssh-clients-5.3p1-94.el6.x86_64
install.log:Installing openssh-server-5.3p1-94.el6.x86_64
install.log:Installing b43-openfwwf-5.2-4.el6.noarch
[root@ror6ax3 ~]# grep open * | awk '$2 ~ /opens */ {print $0}'
install.log:Installing openssl-1.0.1e-15.el6.x86_64
install.log:Installing openssh-5.3p1-94.el6.x86_64
install.log:Installing openssh-clients-5.3p1-94.el6.x86_64
install.log:Installing openssh-server-5.3p1-94.el6.x86_64

왜 일치 opens*합니까 openldap?

답변1

*0 이상을 의미하므로 실제로는 0 이상의 s문자입니다. 문서를 가지고여기, 물론

예를 들어, "h"가 없으면 ph*' applies the*' 기호가 앞의 h' and looks for matches of onep'에 추가되고 그 뒤에는 임의 개수의 p가 추가됩니다.h's. This also matches just

귀하의 경우, 당신이 하고 있는 일은 아마도 "1 이상"을 의미하는 과 opens*같은 것을 기대하는 것일 것입니다 . 운영자를 위한 문서 보기opens+++여기

관련 정보