Languages
[Edit]
EN

Bash - get location origin from given URL

0 points
Created by:
martineau
1380

In this article, we would like to show you how to get location origin from given URL in Bash.

Quick solution:

echo 'https://dirask.com:8080/about' | awk 'match($0,/^[a-z]+:\/\/(www\.)?([^?#/]+)/,g){print g[2]}'

 

Practical example

In this solution, we use match() function that lets to use regular expression with groups support.

#!/bin/bash

echo 'https://dirask.com:8080/about' | awk 'match($0,/^[a-z]+:\/\/(www\.)?([^?#/]+)/,g){print g[2]}'
echo 'https://www.dirask.com:8080/about' | awk 'match($0,/^[a-z]+:\/\/(www\.)?([^?#/]+)/,g){print g[2]}'

Output:

dirask.com:8080
dirask.com:8080

Reusable example

#!/bin/bash

function get_origin() {
    echo "$1" | awk 'match($0,/^[a-z]+:\/\/(www\.)?([^?#/]+)/,g){print g[2]}'
}


# Usage example 1:

get_origin 'https://dirask.com:8080/about'
get_origin 'https://www.dirask.com:8080/about'


# Usage example 2:

origin_1="$(get_origin 'https://dirask.com:8080/about')"
origin_2="$(get_origin 'https://www.dirask.com:8080/about')"

echo $origin_1
echo $origin_2

Output:

dirask.com:8080
dirask.com:8080

dirask.com:8080
dirask.com:8080

 

See also

  1. Bash - get domain name from given URL
  2. Bash - get protocol name from given URL

  3. Bash - get path name from given URL

Donate to Dirask
Our content is created by volunteers - like Wikipedia. If you think, the things we do are good, donate us. Thanks!
Join to our subscribers to be up to date with content, news and offers.
Native Advertising
🚀
Get your tech brand or product in front of software developers.
For more information Contact us
Dirask - we help you to
solve coding problems.
Ask question.

❤️💻 🙂

Join