Bash 如何在文件名中的模式之后剥离所有内容?

Bash 如何在文件名中的模式之后剥离所有内容?,bash,quoting,parameter-expansion,Bash,Quoting,Parameter Expansion,编辑: 我只需要去掉.gz 这些已经用枪拉好了。 我需要project.tar输出 我在第一部分有以下内容 filename=${j##*_} 使用bash的: 输出: project04.tar 你能举例说明它不起作用的文件吗?看起来应该能用。对不起,逻辑问题让我把责任推错了。我需要从末尾剥去.gz。天哪,我需要知道为什么vars上需要使用.gz。这是我第二次因为这样的东西而把头撞到墙上,但没有用。谢谢大家。 filename="SUBMIT joust_aallgeier_attempt_

编辑: 我只需要去掉.gz

这些已经用枪拉好了。 我需要project.tar输出 我在第一部分有以下内容

filename=${j##*_}
使用bash的:

输出:

project04.tar
你能举例说明它不起作用的文件吗?看起来应该能用。对不起,逻辑问题让我把责任推错了。我需要从末尾剥去.gz。天哪,我需要知道为什么vars上需要使用.gz。这是我第二次因为这样的东西而把头撞到墙上,但没有用。谢谢大家。
filename="SUBMIT joust_aallgeier_attempt_2015-11-12-20-37-40_project04.tar.gz"
stripped="${filename##*_}"
stripped="${stripped%.gz}"
echo "$stripped"
project04.tar