我想删除%
和//
之间的/
符号,但不要在此之外。
这里是一个例子:
https://delete%me.com/butnot%this
https://donotdelete.me/test
我会使用sed,grep或awk。
答案 0 :(得分:0)
您可以尝试以下操作:
sed 's|\(//[^/]*\)%\([^/]*/\)|\1\2|g'
说明
s # substitude
| # separator
\(//[^/]*\) # pattern start with // --> save in arg1 (\1)
% # pattern contains % --> ignore
\([^/]*/\) # pattern ends with / --> save in arg2 (\2)
| # separator
\1\2 # print arg1 and arg2
| # separator
g # global on whole line
测试
$ echo "https://delete%me.com/butnot%this" | sed 's|\(//[^/]*\)%\([^/]*/\)|\1\2|g'
https://deleteme.com/butnot%this
$ echo https://donotdelete.me/test | sed 's|\(//[^/]*\)%\([^/]*/\)|\1\2|g'
https://donotdelete.me/test