这个问题在这里已有答案:
我有一个bash脚本接受以.in
结尾的文件名,例如a1.in
a2.in
,我想拿这个参数并提取a1
并添加.out
,我该怎么做?
我知道接受一个论点是$1
- 但我如何提取a1
?
要从参数(或其他变量)中删除固定后缀,请使用${1%.in}
- 如果参数不以.in
结尾,则将删除尾随的.in
或不执行任何操作。要添加后缀,只需添加它:${1%.in}.out
要删除任何后缀,可以在%
之后使用glob模式:${1%.*}
。这将删除最短的匹配后缀。您可以使用%%
:${1%%.*}
删除最长的匹配后缀
如果您的文件只有一个扩展名:
$ echo "a.in" | cut -d '.' -f1
a