링크가 있는데 www와 .com을 반환하고 싶습니다.
예를 들어, www.blablabla.com
다음만 반환됩니다.blablabla
어떻게 해야 하나요? 내가 '를 사용하면 grep '\.[a-zA-Z0-9\.-]*\.
그것은 나에게 준다.blablabla.
답변1
$ echo "www.blablabla.com" | grep -oP '(?<=\.)[a-zA-Z0-9\.-]*(?=\.)'
blablabla
-o
-- 일치하는 줄의 일치하는 부분만 인쇄
-P
--Perl 정규식 사용
(?<=\.)
— 말 그대로 .
"긍정적인 후면 보기"라고도 알려진 후…
[a-zA-Z0-9\.-]*
-- 0개 이상의 소문자 및 대문자, 숫자 0-9, 리터럴 .
및 하이픈과 일치합니다...
(?=\.)
.
-- 그 뒤에 "긍정적인 전망"이라고도 알려진 텍스트가 옵니다 .
이것 좀 봐둘러보기에 대한 추가 정보 링크. 유사한 도구https://regex101.com/정규식을 분해하는 데 도움이 될 수 있습니다.
답변2
sed해결책:
$ str='Hellowww.hello.comMywww.world.comWorld'
$ echo "$str" | sed -e 's/com/com\n/g' | sed -ne '/.*www\.\(.*\)\.com.*/{ s//\1/p }'
hello
world