【发布时间】:2019-01-06 13:38:35
【问题描述】:
为了重命名带有 .wav 和 .flac 扩展名的音乐样本,我使用了这一行:
for f in * ; do rename 's/[^a-zA-Z0-9:0:4]//g' "$f" ;done
但是会发生什么,当文件名是这样的时候:
name * of ( the f?ile.wav
变成:
nameofthefilewav
应该是:
nameofthefile.wav
我需要什么才能将扩展点放在他的位置上?
【问题讨论】:
-
只是替换扩展名?也许
rename 's/.wav$/.flac/' *.wav? -
您正在尝试通过执行
[^a-zA-Z0-9:0:4]替换不在[..]中的任何内容,但您错过了. -
为什么文件名中有
[和]部分?是否建议了一个例子?如果不删除它 -
@ReutSharabani for f in * ;重命名 's/.wav$/.flac/' *.wav "$f" ;这样做我必须注意扩展名是什么 - cq 否则它会将所有 wav 更改为 flac - 它可以工作但是这不是我想要的。