n 個 (n は既知) の URL リストがあります。URL からプロトコル名を削除するにはどうすればよいでしょうか?
例: からhttps://xyz.com
、一部だけを取得したいxyz.com
。
答え1
GNU grepとPCREマッチングを使用して、
grep -oP 'https://\K\S+' file
「https://」に続くスペース以外の部分を出力します。
答え2
答え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 オプションが指定されていない限り、区切り文字を含まない行も出力します。