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

Linux批量重命名文件:移除schema_前缀保留目标格式

批量重命名文件:移除文件名前缀

你之前的mv命令无法工作,因为shell通配符不能直接实现这种前缀替换逻辑。以下是几种可行的解决方法:

方法1:Bash 循环(通用跨平台)

直接用bash的参数扩展移除文件名开头的schema_前缀:

for file in schema_*.sql; do
  # 跳过无匹配文件的情况,避免处理字面量`schema_*.sql`
  [ -e "$file" ] || continue
  mv -- "$file" "${file#schema_}"
done
  • ${file#schema_}:Bash参数扩展语法,用于移除字符串开头的schema_部分
  • --:避免文件名以-开头时被误识别为命令选项

方法2:Perl版rename(Debian/Ubuntu等系统默认)

如果你的系统安装的是Perl版本的rename(可通过rename --version查看,输出包含Perl字样),可以用正则批量替换:

# 先加-n参数测试,仅显示要修改的文件名(不实际执行)
rename -n 's/^schema_//' schema_*.sql
# 确认无误后去掉-n执行实际重命名
rename 's/^schema_//' schema_*.sql

正则^schema_匹配文件名开头的schema_,替换为空字符串即可完成重命名。

方法3:util-linux版rename(RHEL/CentOS等系统默认)

如果是util-linux版本的rename,语法更简洁:

# 加-v参数可查看每一步的重命名操作
rename -v schema_ '' schema_*.sql

第一个参数是要替换的字符串,第二个是替换后的内容,最后是目标文件集合。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.18 07:14:57