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

如何在Linux中使用rename命令批量重命名指定格式的文件

文件重命名解决方案

根据你的需求,需要移除文件名开头的GSMxxxxxxx_前缀,以下是两种可行的方案,对应不同版本的rename工具:

方案1:Perl版rename(Debian/Ubuntu等发行版默认)

直接使用正则表达式替换,命令如下:

rename 's/^GSM\d+_//' *.idat.gz
  • 正则解释:^GSM\d+_匹配文件名开头的GSM+一串数字+下划线,//表示将匹配到的内容替换为空,从而移除前缀。
  • 可先加-n参数测试效果(不实际执行重命名):rename -n 's/^GSM\d+_//' *.idat.gz

方案2:util-linux版rename(RHEL/CentOS/Fedora等发行版默认)

该版本不支持正则,可通过Shell循环结合参数扩展实现:

for file in GSM*.idat.gz; do
  mv "$file" "${file#GSM*_}"
done
  • 参数扩展解释:${file#GSM*_}会从文件名开头删除最短的GSM*_匹配部分,自动保留后续内容。
  • 可先测试逻辑:将mv替换为echo mv,查看输出的重命名规则是否符合预期。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.27 06:18:13