Converta comandos da linha de comandos de uma ferramenta para outra no notepad ++

1

Eu tenho um script com muitas linhas como esta:

ss Get $/%SS_SOURCE_PROJECT%/DLL/Vim25Service2005.dll -I-Y -R -VL%2
ss Get $/%SS_SOURCE_PROJECT%/97AUTO/*.* -I-Y -R -VL%2

Estamos migrando de uma ferramenta para outra (VSS - > TFS) e precisamos portar esse script. Linhas como a anterior (obter arquivo individual) devem ser transformadas para:

tf get . Vim25Service2005.dll /all /version:L%2

Enquanto o último (obter um diretório recursivamente) deve ser transformado para:

tf get 97Auto /all /recursive /version:L%2

Posso automatizar isso com algumas opções inteligentes de encontrar & substituir comandos no notepad ++, talvez usando regex?

    
por Mr. Boy 17.07.2013 / 18:20

1 resposta

1

Para a primeira linha:

Localizar: .*\$.*/([^\*]*) *-I *-Y *-R *-V *(.*)

Substituir: tf get . $1 /all /version:$2

Para a segunda linha:

Localizar: .*\$.*/\*\.\* *-I *-Y *-R *-V *(.*)

.*\$.*/(.*)/\*\.\* *-I *-Y *-R *-V *(.*)

Substituir: tf get . /all /recursive /version:$1

tf get $1 /all /recursive /version:$2

Esses regexes endereçam a possível falta ou espaço em branco extra entre seus argumentos, mas eles esperam que seus argumentos estejam na ordem que você especificou (ou seja, -I, -Y, -R, -V). Se os seus argumentos não estiverem sempre nessa ordem, teremos que ser mais criativos.

Testado no Notepad ++ 6.3.3

Se você precisar / quiser tentar ajustá-lo, recomendo usar a ferramenta regex gskinner . É excelente para regexes de prototipagem rápida.

    
por 17.07.2013 / 19:26