我在 variable 中有一个文件名(包括扩展名,但不是完整路径名)file
,我只想从参数扩展中获取基本名称的最后 10 个字符。
示例:file
包含文件名A_text_document_1234567890.txt
。
期望的输出:1234567890
.
我知道我可以用它${file%.*}
来删除扩展名:echo ${file%.*}
输出A_text_document_1234567890
。
如果我这样做base=${file%.*}
,那么我可以用${base: -10}
得到1234567890
。我可以在不使用第二个变量的情况下一步完成参数扩展吗?
我想我真正的问题是,如何将这两个参数扩展合并为一个?
需要冒号后面的空格来区分参数扩展和
${var:-default}
变体。使用第二个变量:
使用正则表达式: