私には2つのことがあります
http://www.example.com:8888/index.php
http://home.example.com:8888/index.php
(home
何でも構いませんがwww
)
そしてこれを得たいと思います:
example.com
home.example.com
1年後にどのように機能するかを理解できるように、読みやすい方法で行うことをお勧めします。
私の試みは次のとおりです。
echo http://www.example.com:8888/index.php | awk -F[/:\'www\'] '{print $7}'
しかし、結果は
.example.com
(注意)www.example.comに適用する場合
home.example.com
使用できる場合は、print $4
どちらの場合も同じ印刷句を使用することをお勧めします。
ありがとうございます。
ベストアンサー1
sed
解決策:
sed -E 's~http://(www\.)?([^:]+).*~\2~' file
~
-sed
サブコマンド区切り文字として扱われます。-E
- 拡張正規表現を許可(www\.)?
- オプションwww.
部品の一致([^:]+)
- 以下を除くすべての文字シーケンスと一致します。:
出力:
example.com
home.example.com