我如何使用 mv shell 命令的重命名来重命名一个我不知道 exaxt 名称但始终包含单词 BASIC 的文件
rename Ex2WebR1_0WEBSHOP01_005443_B_BASIC.XML BASIC.XML
我尝试过类似的方法但不起作用
mv 's/.*_BASIC/BASIC/g' BASIC.*
感谢您的帮助
答案1
答案2
您的正则表达式尝试正朝着有效的方向前进,如果您使用以下命令,则应该进行微小的更改rename
:
rename 's/.*_BASIC/BASIC/g' *_BASIC*
这假设您的发行版安装了兼容版本rename
(根据我的经验,Red Hat 和相关发行版通常没有)。
还假设您没有多个具有相同扩展名的匹配文件,这样可能会导致名称冲突。
如果您有多个具有不同扩展名的匹配文件并且您想在一次操作中重命名,则此变体将非常有用,否则您最好坚持使用https://unix.stackexchange.com/a/590037/40482