Liunx批量替换文件名

435 words

step1 找到文件

1
2
# find 查找的当前目录 以name的方式查询  "以.vtt结尾的文件"
find ./ -name "*.vtt"

step2 遍历所找到的文件

| 管道符可将上回结果传递给下一个指令

1
2
3
4
find ./ -name "*.vtt" | while read f; do "需要执行的指令" ; done;

# 循环至一个变量 f,之后操作 f 变量即可; done 结束
# while read f; do "需要执行的指令" ; done;

step3 mv移动并重命名文件

1
2
3
4
find ./ -name "*.vtt" | while read f; do mv "$f" "${f/\ English/.en}"; done;

# 执行结果
# 1 - Introduction English_CN.vtt => 1 - Introduction.en_CN.vtt