リンクがありますが、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