我们如何批量重命名多个文件?我寻求的是一种从文件名开头删除随机字符的正则表达式方法吗?
例如,假设我在目录中有以下文件
_3cc10c0294ce15295e17e737a1d4dde1_C1W2L08.pptx
_7beaa0a223aca1d64505e8382275bb8e_C1W2L09-2.05.53-PM.pptx
_090fd2695e7f30570037a0fae658035a_C1W2L07.pptx
以下是我打算看到的内容:
C1W2L08.pptx
C1W2L09-2.05.53-PM.pptx
C1W2L07.pptx
答案 0 :(得分:0)
答案 1 :(得分:0)
for i in *.pptx
do
mv $i ${i#_*_}
done
#{var#prefix}
将删除前缀; *
匹配一系列字符。在man bash
查看更多信息,查找“参数扩展”。
答案 2 :(得分:0)
此代码将选择具有相似结构的所有文件并删除其前缀。
for file in _[a-z0-9]*pptx; do
mv -- "$file" "${file/_*_/}";
done