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

如何通过SVN命令行获取指定日期区间内特定扩展名的变更文件

获取指定日期区间内特定扩展名的SVN变更文件

嘿,这问题我熟!你现在用的命令确实会把指定日期区间里所有变更的文件都捞出来,要只留.sql后缀的,其实加个过滤步骤就行,分两种操作系统场景给你说清楚:

Linux/macOS 环境

用grep工具来做后缀过滤,直接在原有命令后面加个管道和过滤规则就行:

svn diff -r{2017-10-12}:{2017-10-28} --summarize https://svn.blah.com/../ | grep '\.sql$' > output.txt

这里grep '\.sql$'的作用是精准匹配以.sql结尾的行:\.是转义了点号(因为点号在正则里代表任意字符),$表示匹配行尾,确保只选中真正的SQL文件。

Windows 命令提示符(CMD)环境

Windows下用findstr替代grep,命令是这样的:

svn diff -r{2017-10-12}:{2017-10-28} --summarize https://svn.blah.com/../ | findstr /E ".sql" > output.txt

参数/E表示只匹配行尾的.sql,同样能精准筛选出目标文件。

额外小技巧

如果你还想进一步筛选变更状态(比如只看被修改的.sql文件,svn diff --summarize会用M标记修改、A标记新增、D标记删除),可以调整过滤规则:

  • Linux/macOS:grep '^M.*\.sql$'
  • Windows:findstr /R "^M.*\.sql$"

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.20 10:11:17