正如标题所说,我正在寻找一种方法来删除变量开头和结尾处的已定义模式。我知道我必须使用 #
和 %
但我不知道正确的语法。
在这种情况下,我想删除 http://
一开始,和/score/
在变量的末尾 $line
这是从 file.txt
中读取的.
最佳答案
嗯,你不能嵌套 ${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/$##' )"
关于string - 删除变量开头和结尾的子字符串匹配模式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17129050/