sedを使用してドメイン以外のURLからすべてを削除するには?

sedを使用してドメイン以外のURLからすべてを削除するには?

URLからすべてを削除し、ドメインのみを維持する必要があります。

sed 前の例:

https://www.something.com/something/something
https://www.something.com:8080/something/something

sed以降:

XXウェブサイト

ベストアンサー1

このような?

$ url1='https://www.something.com:8080/something/something'
$ url2='http://www.someting.com/something/something'
$ printf "%s\n%s\n" "$url1" "$url2" | \
>   sed -e 's|^.*://||' \
>       -e 's|/.*$||' \
>       -e 's|:.*$||' \
>       -e 's|^.*@||' \
www.something.com
www.someting.com

これはsed4つの式を一緒に結び付けます。

  • s|^.*://||:最初から含めるまですべて削除://
  • s|/.*$||:最初のスラッシュから最後まで残っているすべてを削除します。
  • s|:.*$||:最初のコロンから最後まで残っているすべてを削除します。
  • s|^.*@||:以下を含むすべてのコンテンツを削除します@ftp://user:[email protected]

残りは実際にドメインの一部www.something.comです。wwwunix.stackexchange.com他のIPを持つものと比較math.stackexchange.com

おすすめ記事