git之上的一个实用程序,用于项目范围内的搜索和替换,它也包括文件名
git-search-replace的Python项目详细描述
关于
git search replace是一个位于普通gitgit之上的小实用程序,用于在项目范围内执行搜索并仅在git控制的文件上进行替换。它将搜索应用于文件名及其内容。搜索regex的底层语法是python的。
与围绕sed的hackishbash脚本相比,它对开发人员的指导性更强一些。
主要功能有:
- 默认情况下,仅作为grep显示将要更改的内容。
- dry run mode'-diff'显示搜索和替换将要做的更改的unidiff,以便开发人员可以检查其正确性。没有修改工作目录文件。
- 修复模式“–fix”执行实际更改并关联“git mv”。
语法
Usage: gsr [options] (FROM-SEPARATOR-TO…)
- Options:
-h, --help show this help message and exit -s STRING, --separator=STRING The separator string which separates FROM regex and TO expression -f, --fix Perform changes in-place -d, --diff Use ‘diff’ util to show differences
表达式是FROM分隔符形式的元组,分隔符默认为'//]。
示例
需要考虑脱壳。下面的示例应该适用于主要的unix shell。
gsr old_name///new_name –diff
这显示了一个diff,表示将“old_name”替换为“new_name”。
gsr \bold_name\b///new_name –fix
这使用python正则表达式b在单词边界处匹配整个标识符。由于“–fix”,此调用将就地执行更改。
gsr ‘things with space///with other stuff’ –diff
注意,shell正确地反转义了上面表达式中的逗号。