Bash条件匹配并将通配符保存到变量

Bash条件匹配并将通配符保存到变量,bash,Bash,我想为mpv处理youtube播放列表,我正在使用bash脚本 if [[ "$QUTE_URL" == *"$ytstring"*"&index="*"&list="* ]]; then 现在,我希望在&index=处匹配的通配符被回显/保存到一个变量中,以便进一步处理 我该怎么做 $QUTE_URL的示例: 3&list=pllsua5ayyaedpcjr6weneixxjitl4dlc 我希望3在这种情况下,移交给youtube downloader,让它知道从哪里开始

我想为mpv处理youtube播放列表,我正在使用bash脚本

if [[ "$QUTE_URL" == *"$ytstring"*"&index="*"&list="* ]];  then
现在,我希望在
&index=
处匹配的通配符被回显/保存到一个变量中,以便进一步处理

我该怎么做

$QUTE_URL的示例:

3&list=pllsua5ayyaedpcjr6weneixxjitl4dlc

我希望3在这种情况下,移交给youtube downloader,让它知道从哪里开始播放列表。也许我也需要这个列表,输出应该是
mpv-ytdl raw options=播放列表开始=3-ytdlPL1BAUNEIHIGHYHTNFI-EIZDUKNLZ_TL2Z要匹配正则表达式:

url='https://www.youtube.com/watch?v=x-xLDTN0s_I&index=3&list=PLlSUA5AyYAoeDPCjR6weNeiXXJitl4dlc'
if [[ $url =~ \&index=([0-9]*)\& ]]; then
  echo "${BASH_REMATCH[1]}"
fi
输出:

3 3. 从
manbash

索引为0的BASH_REMATCH元素是字符串中与整个正则表达式匹配的部分。元素 带索引n的BASH_REMATCH是字符串中与第n个括号子表达式匹配的部分


要匹配正则表达式,请执行以下操作:

url='https://www.youtube.com/watch?v=x-xLDTN0s_I&index=3&list=PLlSUA5AyYAoeDPCjR6weNeiXXJitl4dlc'
if [[ $url =~ \&index=([0-9]*)\& ]]; then
  echo "${BASH_REMATCH[1]}"
fi
输出:

3 3. 从
manbash

索引为0的BASH_REMATCH元素是字符串中与整个正则表达式匹配的部分。元素 带索引n的BASH_REMATCH是字符串中与第n个括号子表达式匹配的部分


什么是
qte_URL
的样本值,以及您希望保存在变量中的哪个部分?什么是
qte_URL
的样本值,以及您希望保存在变量中的哪个部分?