Linux 下批量修改删除文件名中不想要的字段 | 您所在的位置:网站首页 › 谷丙转氨酶的正常参考值为多少 › Linux 下批量修改删除文件名中不想要的字段 |
Linux 下批量修改删除文件名中不想要的字段
本文重点
${var%ABC}
${var#ABC}
% 表示从变量值尾部删除至ABC# 表示从变量值头部删除至ABC
案例1:
有如下文件想要删除_bak [root@hsun hook]# ls postCreateUser.sh preCreateUser.sh postDeleteUser_bak.sh preDeleteUser_bak.sh postDisableUser_bak.sh preDisableUser_bak.sh postEnableUser_bak.sh preEnableUser_bak.sh postUpdateUserAttribute_bak.sh preUpdateUserAttribute_bak.sh
然后使用shell for var in *_bak.sh; do mv "$var" "${var%_bak.sh}.sh"; done [root@hsun hook]# ls postCreateUser.sh preCreateUser.sh postDeleteUser.sh preDeleteUser.sh postDisableUser.sh preDisableUser.sh postEnableUser.sh preEnableUser.sh postUpdateUserAttribute.sh preUpdateUserAttribute.sh
个人理解:1、首先将文件夹内的文件提取到变量var中,然后使用mv命令将$var重命名为${var%_bak.sh}.sh 2、"${var%_bak.sh}.sh"首先从变量的尾部删除到_bak.sh,此时所有文件都会删除_bak.sh然后在${var%_bak.sh}最后加上.sh就重命名完成。 分步解读: 单拿一个文件postEnableUser_bak.sh举例子 第一步,首先拿到文件名为postEnableUser_bak.sh的文件 第二步,删除文件后边的_bak.sh。此时文件名已变成了postEnableUser 第三步,在修改好的文件名后边加.sh。最后文件名就成为了postEnableUser.sh 所以它的文件名变化顺序为: postEnableUser_bak.sh --> postEnableUser --> postEnableUser.sh 实际案例2 想要删除下列文件中的source-wuxi 并且替换成source-xibei. [root@hsun sss]# ls sink-xibei-auth.properties source-wuxi-online.properties source-beijing-auth.properties source-wuxi-project.properties source-wuxi-applyinfo.properties source-wuxi-projectusers.properties source-wuxi-lshosts.properties source-xibei-applaunch.properties source-wuxi-metrics.properties [root@hsun sss]# for var in source-wuxi*;do mv "${var}" "source-xibei${var#source-wuxi}";done [root@hsun sss]# ls sink-xibei-auth.properties source-xibei-metrics.properties source-beijing-auth.properties source-xibei-online.properties source-xibei-applaunch.properties source-xibei-project.properties source-xibei-applyinfo.properties source-xibei-projectusers.properties source-xibei-lshosts.properties
|
今日新闻 |
推荐新闻 |
专题文章 |
CopyRight 2018-2019 实验室设备网 版权所有 |