windows - liste unikke strings i kildekode

Indlæg af Hanne Mølgaard Plasc

Problem



Jeg er efter et værktøj, der vil liste unikke strenge i mange kildekodefiler. Alt i [[az, AZ, 09 ,.]] i længden mindst 1 tegn. Når jeg finder dem, vil jeg lave en liste over strings med gamle værdier og nye værdier ved siden af ​​dem.


Jeg forsøgte findstr /R [a-z] *.*, men det lister blot linjerne. Jeg vil have en streng pr. Linje uden særlige tegn (f.eks. ''! [[]] {} () */+=- osv.).


Mange af Linux-værktøjerne er blevet portet til Windows, og jeg vil gerne bruge dem som Grep tilsvarende til Windows 7? Eller er der en bedre måde at gøre denne kommando for at finde strenge i en fil, undtagen specialtegn? [3]]] [4]

Bedste reference


Du skal selvfølgelig under Windows 10 installere Windows 10 Linux-stuff ... men i Windows 7 har du den ærværdige cygwin. Https://www.cygwin.com/[5]


Efter installation af cygwin, vil du bruge noget til at hugge dine input til 'ord'. Sed eller awk er dine venner her. Du kan endda falde tilbage til noget som python eller perl (begge kan installeres i cygwin).


Når det er sagt, installerer python indbygget i Windows helt fint.


hrm ... dette skal om gør det. Kør dette én gang pr. fil, du vil analysere.


include sys,string

    for line in sys.stdin.readline():
      state=0
      for c in line:
        if c in letters+numbers:
          sys.stdout.write(c)
          state=1
        elif state == 1:
          sys.stdout.write('
')
          state=0
      if state == 1:
        sys.stdout.write('
')