bash – 在变量的开始和结尾处删除子串匹配模式

正如标题所示,我正在寻找一种在变量开始和结束时删除定义的模式的方法.我知道我必须使用#和%,但我不知道正确的语法.

在这种情况下,我想在开始时删除http://,在/txt /的结尾处,从$.txt中读取变量$line.

那么你不能嵌套${var%} / ${var#}操作,所以你必须使用临时变量.

像这里:

var="http://whatever/score/"
temp_var="${var#http://}"
echo "${temp_var%/score/}"

或者,您可以使用正则表达式(例如)sed:

some_variable="$( echo "$var" | sed -e 's#^http://##; s#/score/$##' )"

相关文章

用的openwrt路由器,家里宽带申请了动态公网ip,为了方便把2...
#!/bin/bashcommand1&command2&wait从Shell脚本并行...
1.先查出MAMP下面集成的PHP版本cd/Applications/MAMP/bin/ph...
1、先输入locale-a,查看一下现在已安装的语言2、若不存在如...
BashPerlTclsyntaxdiff1.进制数表示Languagebinaryoctalhexa...
正常安装了k8s后,使用kubect工具后接的命令不能直接tab补全...