Millerを使用してCSV URL列からドメインを抽出する

Millerを使用してCSV URL列からドメインを抽出する

CSVコンテンツは次のとおりです。

Family,URL,IP,FirstSeen
Pony,http://officeman.tk/images/admin.php,207.180.230.128,01-06-2019
Pony,http://learn.cloudience.com/ojekwaeng/yugo/admin.php,192.145.234.108,01-06-2019
Pony,http://vman23.com/ba24/admin.php,95.213.204.53,01-06-2019

URL以下を使用して列を選択できることを知っています。

mlr --mmap --csv --skip-comments --headerless-csv-output cut -f 'URL'

Millerを使用して他のコマンドで接続せずにドメインを抽出するにはどうすればよいですか?

希望の出力:

officeman.tk
learn.cloudience.com
vman23.com

ベストアンサー1

ミラーのスイス軍用ナイフ置く動詞 - 全体へのアクセスを提供します。ドメイン固有の言語データ変換のため。そこにはいくつかの方法があります。

  • 正規表現を使用して URL のドメイン部分を照合してキャプチャします。
  • 正規表現を使用して前後のコンポーネントを切り捨てる
  • URLを区切り文字列に分割

例えば

mlr --mmap --csv --skip-comments --headerless-csv-output put -S '
  $URL =~ "https?://([^/]+)"; $Domain = "\1"
' then cut -f Domain file.csv

または

mlr --mmap --csv --skip-comments --headerless-csv-output put -S '
  m = splitnvx($URL,"/"); $Domain = m[3]
' then cut -f Domain file.csv

おすすめ記事