linux - 使用模式批量重命名文件(在位置添加连字符)
问题描述
我想将包含遵循此模式的文件的目录重命名utbetalning_20170209
为utbetalning_2017-02-09
.
我的想法是通过在正确的索引位置添加连字符来分三遍解决它。这可以使用命令解决,如该线程sed
中所建议的:
$ echo "utbetalning_20200325.pdf" | sed 's/./&-/16'
utbetalning_2020-0325.pdf
或(与上述同一线程中的另一个建议):
$ echo "utbetalning_20200325.pdf" | sed 's/^\(.\{16\}\)/\1-/'
utbetalning_2020-0325.pdf
但是使用这些模式rename
不会改变任何文件名
rename 's/./&-/16' *
可能是rename
. 还有其他解决方案吗?
解决方案
互联网上应该有数百个“大规模重命名工具”,其中一个肯定也可以在 Linux 下运行:)
所以,除非你想做 bash sed,否则请尝试搜索引擎并在几分钟内完成,会成为我的建议。
推荐阅读
- python - Python 浮点数的最长可能字符串表示形式是什么?
- python - 模块作为无属性 - self.variable.function(self)
- firebase - firebase 如何区分用于 Firebase 分析的网站?
- actionscript-3 - 如何将我的 Flash 项目设置为最大窗口大小?
- ethereum - 避免使用solidity的transfer()/send()?
- google-apps-script - 在从 android 应用程序获取输入到 Google 工作表并使用 onChange 触发器时遇到问题?
- vim - 在 Vim 中使用模板文件
- python - 在 python 上带有 webhook 的电报机器人
- javascript - NPM 节点依赖问题 - BigNumber 未定义
- javascript - 根据序列中的相同值过滤JS数组