Bash 将cd放入带有文件名一部分名称的目录中?

Bash 将cd放入带有文件名一部分名称的目录中?,bash,cd,Bash,Cd,我想cd到一个目录,其中有一个我知道的文件名的一部分的名称 文件名: new_manifest_analysis_id565780cc-f829-4a7f-a9dc-e635732a0636 我想把cd刻录成光盘 565780cc-f829-4a7f-a9dc-e635732a0636 并删除文件名中新的_manifest_analysis_id部分 对于我循环使用$I的所有文件名,我可以执行以下操作: cd "$i" "${i/new_manifest_id/}" 您可以使用: f=

我想cd到一个目录,其中有一个我知道的文件名的一部分的名称

文件名:

 new_manifest_analysis_id565780cc-f829-4a7f-a9dc-e635732a0636
我想把cd刻录成光盘

565780cc-f829-4a7f-a9dc-e635732a0636 
并删除文件名中新的_manifest_analysis_id部分

对于我循环使用$I的所有文件名,我可以执行以下操作:

cd "$i" "${i/new_manifest_id/}"
您可以使用:

f='new_manifest_analysis_id565780cc-f829-4a7f-a9dc-e635732a0636'
echo "${f#new_manifest_analysis_id}"
565780cc-f829-4a7f-a9dc-e635732a0636
因此,对于cd命令使用:

cd "${f#new_manifest_analysis_id}"
${varfoobar}将从变量$var的开头删除foobar。

您可以使用:

f='new_manifest_analysis_id565780cc-f829-4a7f-a9dc-e635732a0636'
echo "${f#new_manifest_analysis_id}"
565780cc-f829-4a7f-a9dc-e635732a0636
因此,对于cd命令使用:

cd "${f#new_manifest_analysis_id}"

${varfoobar}将从变量$var的开头删除foobar。

您还可以将其缩短为${f*\u id},以便在交互使用时更易于键入。因此,对于$f-我想实际打印该文件的名称,但我不确定如何在引号中输入该文件的名称?它是不是像:cd${fnew\u manifest\u analysis\u id}而不是cd${fnew\u manifest\u analysis\u id}应该是:cd${fnew\u manifest\u analysis\u id},就像我在回答中一样。你也可以把它缩短为${f*\u id}如果这是为了交互使用,为了更容易键入。那么对于$f-我想实际打印该文件的名称,但我不确定如何在引号中输入文件名称?它会像:cd${fnew\u manifest\u analysis\u id}而不是cd${fnew\u manifest\u analysis\u id}它应该是:cd${fnew\u manifest\u analysis\u id},就像我在回答中一样。