在bash `${qidpath `.*/`中,`.*/`是什么意思?

在bash `${qidpath `.*/`中,`.*/`是什么意思?,bash,parameter-expansion,Bash,Parameter Expansion,我努力为你做贡献。在谷歌上搜索##*/是混乱的 /tmp/datasets/raw/*包含文件夹列表 用于/tmp/dataset/raw/*中的qidpath; 做 qid=$(echo${qidpath##*/}| cut-d'-'-f1) 如果[[$qid==Q*];然后 echo“->正在处理${qid}…” /usr/bin/python3.5/home/www/commondownloadtool/commons_downloadtool.py--keep--sparqlurlhtt

我努力为你做贡献。在谷歌上搜索
##*/
是混乱的

/tmp/datasets/raw/*包含文件夹列表

用于/tmp/dataset/raw/*中的qidpath;
做
qid=$(echo${qidpath##*/}| cut-d'-'-f1)
如果[[$qid==Q*];然后
echo“->正在处理${qid}…”
/usr/bin/python3.5/home/www/commondownloadtool/commons_downloadtool.py--keep--sparqlurlhttps://lingualibre.org/bigdata/namespace/wdq/sparql --sparql“SELECT?file?filename WHERE{${query}?record prop:P4 entity:${qid}.}”--线程4--目录/tmp/datasets/raw/--output”/tmp/datasets/${qidpath###*/}.zip”--文件格式ogg
fi
完成

这将删除所有以
*/
开头的模式:这将在您的案例中获得一个文件名

添加到您的书签:

${parameter#word}

${parameter##word}

单词被展开以产生模式,并根据下面描述的规则进行匹配(请参见模式匹配)。如果模式 匹配参数展开值的开头,然后匹配 展开的结果是参数的展开值 最短匹配模式(“#”大小写)或最长匹配 删除模式(“##”案例)。如果参数为“@”或“”,则 模式删除操作应用于中的每个位置参数 旋转,展开就是结果列表。如果参数是 数组变量下标为“@”或“”,模式删除 操作依次应用于数组的每个成员,并且 展开是结果列表