bash - 根据 Bash 中的模式更改目录名称
问题描述
我需要更改单行(最佳选项)目录名称,更精确 - 删除一些在开头 TO_BE_REMOVED_W._ 具有可变部分的前缀
我可以找到要修改的目录:
find ./ -type d -iname 'TO_BE_REMOVED_W*' -exec mv {} _____ \;
我应该如何形成执行部分来重命名目录以从全名中删除模式?
解决方案
大多数发行版都带有rename
接受替换模式,所以我通常使用-execdir
with rename
。
例如,要删除PREFIX_
:
$ find . -execdir rename 's/^PREFIX_//' '{}' +
请注意,对于 Arch Linux,这被称为perl-rename
(Arch 的默认rename
值不是rename
大多数发行版上的标准)。
推荐阅读
- palantir-foundry - 如何创建可打印的 Slate 文档?
- f# - Giraffe F# 中的流式序列
- reactjs - React Data-Table 搜索组件未按应有的方式呈现/工作
- java - 数组Java中的整数
- python - 如何创建有状态的 WSGI Python Web 应用程序
- perl - 如何将 XML::DOM 安装到从源代码构建的 perl 中?
- r - 如何在 MX Linux 上正确安装 rJava
- laravel - 如何捕获在聊天中发送消息的用户
- c - 带有 %f 的 C printf,其小数位基于 %d?
- kubernetes - Kubernetes Fabric8 API