ウェブサイトのリンクからプロトコル名を削除する

ウェブサイトのリンクからプロトコル名を削除する

n 個 (n は既知) の URL リストがあります。URL からプロトコル名を削除するにはどうすればよいでしょうか?

例: からhttps://xyz.com、一部だけを取得したいxyz.com

答え1

GNU grepとPCREマッチングを使用して、

grep -oP 'https://\K\S+' file

「https://」に続くスペース以外の部分を出力します。

答え2

使ってみてはいかがでしょうかawkFオプションとテキストリダイレクト付きですか?

awk -F'^http[s]?://' '{print $2}' fileName > outputFile

またはsediオプション付き

sed -i s/'http[s]\?:\/\/'// fileName

答え3

以下は簡単な awk 呼び出しです。

$ awk -F// '{print $NF}' fileName

-Fフィールド区切り文字を指定します。$NF最後のフィールドを出力します。

// を二重引用符で囲む必要があるかもしれません。

答え4

使用カット: 接頭辞の有無にかかわらず動作します。cut は区切り文字のない行も印刷します。

echo 'https://myserver.com' | cut -d '/' -f 3
# prints myserver.com

ループを使用して、ファイル内の複数の行でこれを実行できます。

for line in $(cat input_file.txt); do
    echo "${line}" | cut -d '/' -f 3
done

「cut」マニュアルページから -f、--fields=LIST はこれらのフィールドのみを選択します。また、-s オプションが指定されていない限り、区切り文字を含まない行も出力します。

関連情報