我希望您能够用bash脚本提取文件扩展名前的最后一个数字。格式可能会有所不同,但它将是一些数字和字母的组合,最后一个字符始终为数字。我需要提取这些数字并将它们存储在一个变量中。
通常的格式为:
sdflkej10_sdlkei450_sdlekr_1.txt
我希望将最后一位数字1存储到一个变量中。
我将使用它来循环遍历大量文件,最后的数字可能会是两位或三位数。
所以对于这个文件:
kej10_sdlkei450_sdlekr_310.txt
我需要返回310。
每个文件中包含的字母数字字符和下划线数量不同,但我想要的数字总是在.txt扩展名之前且在下划线之后。
我尝试过:
bname=${f%%.*}
number=$(echo $bname | tr -cd '[[:digit:]]')
但是这会返回所有数字。
如果我尝试
number = $(echo $(bname -2) it changes the number it returns.
我遇到的问题主要与变量相关,并且被要求在bash中完成。非常感谢您的帮助。