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