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 仔细看看,如果您有其他问题,请告诉我. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |