想用Perl来代替这种说法:BASH:与SED替代PERL就地替代
perl -pe "s|(?<=://).+?(?=/)|$2:80|"
与
sed -e "s|<regex>|$2:80|"
由于SED具有更强大的正则表达式引擎(例如它不支持查找)任务归结为编写兼容sed的正则表达式,以仅匹配完全限定的URL中的域名。例子:
http://php2-mindaugasb.c9.io/Testing/JS/displayName.js
http://php2-mindaugasb.c9.io?a=Testing.js
http://www.google.com?a=Testing.js
应该改为:
http://$2:80/Testing/JS/displayName.js
http://$2:80?a=Testing.js
http://$2:80?a=Testing.js
像这样的解决方案将是确定的:
sed -e "s|<regex>|http://$2:80|"
谢谢:)
但你的预期输出不包含80 –
@AvinashRaj ::谢谢,错过了:) –