bash - 重命名目录中的文件以在破折号前后插入空格
问题描述
我有一个目录,其中包含以下类型的文件:
01.firstname surname-track1 name1.mp3
02.firstname surname-track2 name2.mp3
03.firstname surname-track3 name3.mp3
我正在寻找一个 BASH 命令来批量重命名目录中的所有文件,以便在破折号前后有一个空格,例如:
01.firstname surname - track1 name1.mp3
02.firstname surname - track2 name2.mp3
03.firstname surname - track3 name3.mp3
非常感谢任何帮助!
解决方案
正如 Barmar 建议的那样,您可以使用重命名(或文件名)。在你的情况下:
file-rename 's/-/ - /g' *.mp3
它是基于正则表达式的,所以它非常强大(因此很危险),在运行它之前,你可以“干”运行它,它会告诉你你的命令将要改变什么:
file-rename -n 's/-/ - /g' *.mp3
推荐阅读
- c# - ContentPage 中的 Xamarin 公共变量
- rust - 如何返回对惰性静态 Arc Mutex 中自定义结构选项的引用?
- c++ - 使用 C++ 的回文程序的不需要的输出
- ios - 如何从 IOS Swift 'Any' 类型访问和获取嵌套值?
- java - graphql java - 如何找出“提供的模式无效”的根本原因?
- python - 使用 pyparsing 将 lvm.conf 转换为 python dict
- mysql - 根据连接表中设置的最新状态获取结果
- python - 如何用python替换字符串中除了replace()的最后一个实例之外的所有实例?
- python-3.x - 逐块迭代加载图像,其中块部分重叠
- python - 如何将python集与redis集相交