Cara Filter Domain dari List URL menggunakan Bash

Kamis, 17 September 2020

Filter Domain dari List URL menggunakan Bash. Oke, ini hanyalah kumpulan regex yang saya kumpulkan sendiri dari Google dan saya tujukan untuk catatan pribadi jika sewaktu waktu dibutuhkan. Jadi saya memiliki task dimana saya harus memfilter domain atau subdomain dari list url dan itu banyak sekali.

Nah untuk tugas tersebut kita bisa gunakan sed ataupun awk.

Sebagai contoh, disini saya ada list url seperti berikut.

https://www.google.com/search?q=linuxsec
https://www.linuxsec.org/
https://news.linuxsec.org/
https://blog.linuxsec.org/how-to-find-public-ip-address-using-linux-terminal/#respond
https://www.linuxsec.org/2020/09/invalid-command-bdist-wheel.html
https://www.linuxsec.org/2020/09/invalid-command-bdist-wheel.html?m=1

Dengan sed, kita bisa mengambil hanya domain atau subdomainnya saja. Contohnya, list url tersebut disimpan dalam file urls, maka commandnya

sed -e 's/[^/]*\/\/\([^@]*@\)\?\([^:/]*\).*/\2/' urls

Regex lain yang saya dapat dari cyberciti.biz,

sed -e 's|^[^/]*//||' -e 's|/.*$||' urls

Atau menggunakan awk

cat urls | awk -F [:/] '{print $4}'

Bonus:

Mengambil list url dari data campur.

grep -Eo "(http|https)://[a-zA-Z0-9./?=_%:-]*" raw-data

Oke mungkin itu dulu artikel singkat kali ini, semoga bermanfaat. Jika ada yang ingin ditambahkan silahkan tinggalkan komentar.

Artikel Terkait Bash ,FAQ