加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

bash – 将最高文件扩展名保存到变量中

发布时间:2020-12-15 21:20:09 所属栏目:安全 来源:网络整理
导读:我有扩展名是一个数字的文件: backup.1backup.2backup.3 我现在需要检查最高数字是什么,并将此数字保存到变量中. (在上面的情况下,它将是i = 3) 解决方法 bash中的问题实际上相当简单. Bash提供了子字符串删除的参数扩展,可以很容易地从文件名中获取最终数
我有扩展名是一个数字的文件:

backup.1
backup.2
backup.3

我现在需要检查最高数字是什么,并将此数字保存到变量中. (在上面的情况下,它将是i = 3)

解决方法

bash中的问题实际上相当简单. Bash提供了子字符串删除的参数扩展,可以很容易地从文件名中获取最终数字.它的格式为${var ## *.},它只是从字符串的左边搜索到最后一次出现的’.’.删除所有字符,包括点,例如

var=backup.1
echo ${var##*.}
1

所以你需要的是循环匹配备份的所有文件.[0-9] *并保持一个最大变量保持最高的数字,例如

max=0
for i in backup.[0-9]*; do 
    [ "${i##*.}" -gt $max ] && max="${i##*.}"
done
echo "max: $max"

根据您的文件输出,

max: 3

仔细看看,如果您有其他问题,请告诉我.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读