【发布时间】:2021-05-26 07:37:26
【问题描述】:
我有一个在末尾添加日期的文件列表。 例如:合唱左八度(合并)(2020_10_14 20_27_18 UTC)。文件将以 .wav 或 .mp3 结尾
我想离开(consolidated),但删除日期。我想出了正则表达式并用 regexr.com 进行了测试。它确实在那里正确格式化文本。
正则表达式是:/(\([0-9]+(.*)(?=.wav|.mp3))+/g
现在,我正在尝试实际重命名文件。在我的终端中,我已将文件放入文件夹中。根据我尝试过的其他答案:
-
rename -n '/(\([0-9]+(.*)(?=.wav|.mp3))+/g' *.wav|*.mp3- 使用rename与自制软件一起安装 sed '/(\([0-9]+(.*))+/g' *.wav|*.mp3for f in *.wav|*.mp3; do mv "$f" "${f/(\([0-9]+(.*)(?=.wav|.mp3))+/g}” done
前两个不会抛出任何错误,但不会进行任何重命名(我知道rename 后面的-n 只是打印出将要更改的文件,实际上并没有更改文件)
最后一个启动 bash 会话。
我宁愿使用重命名或 sed,对我来说似乎更简单。但是,我做错了什么?
【问题讨论】:
-
bash 不是操作系统
-
我知道,但是你可以在 linux 等上使用 bash,所以我想指定我在操作系统上 - 我会更新以使其更清晰
-
当然 bash 必须在 Linux 或 FreeBSD 等操作系统上运行...它不能在裸机上运行。编辑后仍然没有什么更清楚。事实上你不应该在标题上使用 bash 之类的东西,这是标签的工作