如何提取文件名并在bash中更改结尾? [重复]

问题描述 投票:0回答:2

这个问题在这里已有答案:

我有一个bash脚本接受以.in结尾的文件名,例如a1.in a2.in,我想拿这个参数并提取a1并添加.out,我该怎么做?

我知道接受一个论点是$1 - 但我如何提取a1

string bash
2个回答
1
投票

要从参数(或其他变量)中删除固定后缀,请使用${1%.in} - 如果参数不以.in结尾,则将删除尾随的.in或不执行任何操作。要添加后缀,只需添加它:${1%.in}.out

要删除任何后缀,可以在%之后使用glob模式:${1%.*}。这将删除最短的匹配后缀。您可以使用%%${1%%.*}删除最长的匹配后缀


1
投票

如果您的文件只有一个扩展名:

$ echo "a.in" | cut -d '.' -f1
a
© www.soinside.com 2019 - 2024. All rights reserved.