You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用Bash批量去除文件名前缀(编号及短横线)

批量重命名文件:去除开头编号及短横线

这里有两种适合新手的Bash方法,帮你完成批量重命名:

方法1:用Bash基础循环(无需额外工具)

先执行测试命令,确认要重命名的操作正确:

for file in [0-9][0-9]\ -\ *.txt; do
    echo mv -- "$file" "${file#* - }"
done

如果输出的重命名命令符合预期,去掉echo执行实际操作:

for file in [0-9][0-9]\ -\ *.txt; do
    mv -- "$file" "${file#* - }"
done

命令解释

  • [0-9][0-9]\ -\ *.txt:精准匹配目标文件(两位数字+空格+短横线+空格开头的txt文件),避免误操作其他文件
  • ${file#* - }:Bash参数扩展,自动删除文件名开头到第一个-(空格+短横线+空格)的部分,直接得到你想要的文件名
  • mv -- "$file":--防止文件名以短横线开头时出错,引号包裹文件名适配含空格的场景

方法2:用rename命令(部分Linux发行版预装)

如果你的系统有rename命令(比如Debian/Ubuntu默认带Perl版),可以用更简洁的正则替换:

先测试:

rename -n 's/^\d{2} - //' *.txt

确认输出正确后,去掉-n执行:

rename 's/^\d{2} - //' *.txt

命令解释

  • s/^\d{2} - //:正则表达式规则,^匹配文件名开头,\d{2}匹配两位数字,后续的-是要删除的分隔符,整体作用是删掉开头的编号及分隔符

注意事项

  • 操作前建议备份文件,或先在测试目录验证命令
  • 确保当前目录只有目标重命名文件,避免误处理

内容的提问来源于stack exchange,提问作者Turbotanten

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.11 19:45:30