Shell 命令将 url 切入相
Shell command to cut the url into phase
我想把我的 url https://jenkins-crumbtest2.origin-ctc-core-nonprod.com/
剪成 https://jenkins.origin-ctc-core-nonprod.com:443
。我尝试了几种方法来处理它
尝试过这些方法
$ echo https://jenkins-crumbtest2.origin-ctc-core-nonprod.com/ | cut -d"/" -f3 | cut -d"/" -f5
jenkins-crumbtest2.origin-ctc-core-nonprod.com
输入:
https://jenkins-crumbtest2.origin-ctc-core-nonprod.com/
预期输出:
https://jenkins.origin-ctc-core-nonprod.com:443
能否请您尝试以下内容,仅根据显示的示例编写。
awk '{sub(/jenkins-[^.]*/,"jenkins");sub(/\/$/,":443")} 1' Input_file
或者用 echo
试试:
echo "https://jenkins-crumbtest2.origin-ctc-core-nonprod.com/" |
awk '{sub(/jenkins-[^.]*/,"jenkins");sub(/\/$/,":443")} 1'
说明:将 echo 命令输出作为输入发送到 awk 命令,然后使用 awk 的子函数首先替换从关键字 Jenkins 到点带有字符串 Jenkins 的所有内容。然后用行中的 :443 替换最后一次出现的 /。
perl
根据方案查找适当端口号的单行程序,而不是假设 https:
$ printf "%s\n" "https://jenkins-crumbtest2.origin-ctc-core-nonprod.com/" \
"http://jenkins-crumbtest2.origin-ctc-core-nonprod.com/" \
"ftp://jenkins-crumbtest2.origin-ctc-core-nonprod.com/" |
perl -F: -lane 'print s!-crumbtest2|/$!!rg, ":", scalar getservbyname($F[0], "tcp")'
https://jenkins.origin-ctc-core-nonprod.com:443
http://jenkins.origin-ctc-core-nonprod.com:80
ftp://jenkins.origin-ctc-core-nonprod.com:21
我想把我的 url https://jenkins-crumbtest2.origin-ctc-core-nonprod.com/
剪成 https://jenkins.origin-ctc-core-nonprod.com:443
。我尝试了几种方法来处理它
尝试过这些方法
$ echo https://jenkins-crumbtest2.origin-ctc-core-nonprod.com/ | cut -d"/" -f3 | cut -d"/" -f5
jenkins-crumbtest2.origin-ctc-core-nonprod.com
输入:
https://jenkins-crumbtest2.origin-ctc-core-nonprod.com/
预期输出:
https://jenkins.origin-ctc-core-nonprod.com:443
能否请您尝试以下内容,仅根据显示的示例编写。
awk '{sub(/jenkins-[^.]*/,"jenkins");sub(/\/$/,":443")} 1' Input_file
或者用 echo
试试:
echo "https://jenkins-crumbtest2.origin-ctc-core-nonprod.com/" |
awk '{sub(/jenkins-[^.]*/,"jenkins");sub(/\/$/,":443")} 1'
说明:将 echo 命令输出作为输入发送到 awk 命令,然后使用 awk 的子函数首先替换从关键字 Jenkins 到点带有字符串 Jenkins 的所有内容。然后用行中的 :443 替换最后一次出现的 /。
perl
根据方案查找适当端口号的单行程序,而不是假设 https:
$ printf "%s\n" "https://jenkins-crumbtest2.origin-ctc-core-nonprod.com/" \
"http://jenkins-crumbtest2.origin-ctc-core-nonprod.com/" \
"ftp://jenkins-crumbtest2.origin-ctc-core-nonprod.com/" |
perl -F: -lane 'print s!-crumbtest2|/$!!rg, ":", scalar getservbyname($F[0], "tcp")'
https://jenkins.origin-ctc-core-nonprod.com:443
http://jenkins.origin-ctc-core-nonprod.com:80
ftp://jenkins.origin-ctc-core-nonprod.com:21