Suche in Dateien und Liste erstellen?
Moderators: Hacker, Stefan2, white
-
- Junior Member
- Posts: 28
- Joined: 2005-03-11, 09:45 UTC
Suche in Dateien und Liste erstellen?
Ich suche in einem Ordner mit ca. 1800 PHP-Dateien nach "function" und bekomme auch das Ergebnis, wo es diesen String überall gibt.
Besteht aber die Möglichkeit auszuleiten, wie oft dieser String gefunden wurde, so dass ich weis, wie viele Funktionen in allen Dateien vorhanden sind?
Vielen Dank schon jetzt für eine Hilfe.
Besteht aber die Möglichkeit auszuleiten, wie oft dieser String gefunden wurde, so dass ich weis, wie viele Funktionen in allen Dateien vorhanden sind?
Vielen Dank schon jetzt für eine Hilfe.
- ghisler(Author)
- Site Admin
- Posts: 50768
- Joined: 2003-02-04, 09:46 UTC
- Location: Switzerland
- Contact:
Nein, TC sucht nur bis zur ersten Fundstelle, nicht alle Fundstellen.
Author of Total Commander
https://www.ghisler.com
https://www.ghisler.com
dazu faellt mir etwas ein
wenn ich dateien durchsuchen lass - dauerts je nach anzahl entsprechend
wenn ich darauf hin nochmal mit dem selben string durchsuche dauerts nur noch ein paar millisekunden
ist das ergebnis dann aus nem cache ? ist es ueberhaupt noch verwertbar?
ich hab naemlich in dateien gesucht - nichts gefunden - die dateien neu aus perforce ausgecheckt {sie wurden auch definitiv geaendert} und dann nochmal gesucht
das ergebnis kahm wieder so extrem schnell - wundert mich irgendwie
wenn ich dateien durchsuchen lass - dauerts je nach anzahl entsprechend
wenn ich darauf hin nochmal mit dem selben string durchsuche dauerts nur noch ein paar millisekunden
ist das ergebnis dann aus nem cache ? ist es ueberhaupt noch verwertbar?
ich hab naemlich in dateien gesucht - nichts gefunden - die dateien neu aus perforce ausgecheckt {sie wurden auch definitiv geaendert} und dann nochmal gesucht
das ergebnis kahm wieder so extrem schnell - wundert mich irgendwie
Re: Suche in Dateien und Liste erstellen?
> wie viele Funktionen in allen Dateien vorhanden sind?malo.conny wrote:Ich suche in einem Ordner mit ca. 1800 PHP-Dateien nach "function" und bekomme auch das Ergebnis, wo es diesen String überall gibt.
Besteht aber die Möglichkeit auszuleiten, wie oft dieser String gefunden wurde, so dass ich weis, wie viele Funktionen in allen Dateien vorhanden sind?
Darf's ein bisschen Un*x sein?
C:\MyPHPFiles>grep -c function *.php |awk -F: "{sum += $2}; END {print sum}"
Usage: grep [OPTION]... PATTERN [FILE]...
-c, --count print only a count of matching lines per FILE
-R, -r, --recursive
Usage: awk [POSIX or GNU style options] -f progfile [--] file ...
-F fs --field-separator=fs (hier der : vom GREP Output)
Examples:
gawk '{ sum += $1 }; END { print sum }' file
-
- Junior Member
- Posts: 28
- Joined: 2005-03-11, 09:45 UTC
@Stefan2: Danke, aber wie kann ich denn unter Windows das Kommando ausführen? Kann ich diesen einfach in die Kommandozeile von TC ausführen und wie sorge ich dann dafür, dass das Ergebnisfenster sichtbar bleibt?
Vielen Dank!
Update: habe nun mit UnxUtils gemacht, allerdings suche ich dann nicht in Unterordnern, was aber gehen muss.
Vielen Dank!
Update: habe nun mit UnxUtils gemacht, allerdings suche ich dann nicht in Unterordnern, was aber gehen muss.
Native Win32 ports of some GNU utilities http://unxutils.sourceforge.net/malo.conny wrote:@Stefan2: Danke, aber wie kann ich denn unter Windows das Kommando ausführen?
UNIX coreutils-5.3.0 http://gnuwin32.sourceforge.net/packages/
UNIX Berkeley Utilities 12.Feb.2001 http://openetwork.com/berk.html
------------------------------------
> wie sorge ich dann dafür, dass das Ergebnisfenster sichtbar bleibt?malo.conny wrote:Kann ich diesen einfach in die Kommandozeile von TC ausführen
und wie sorge ich dann dafür, dass das Ergebnisfenster sichtbar bleibt?
mit dem CMD Parameter /k, siehe weiter unten.
> einfach in die Kommandozeile von TC ausführen
Weiß ich nicht genau, ich öffne eher eine DOS-Box im aktuellen Verzeichnis mit Strg+o
Solche DOS Befehle kann man z.B: in die UserCmd.ini reinschreiben
oder direkt in einem Button aufnehmen.
Z.B. in der USERCMD.INI
[em_CountPHP]
cmd=%comspec% /k
Param=?grep -c function *.php |awk -F: "{sum += $2}; END {print sum}"
Siehe auch C:\>cmd /?
Das habe ich jetzt nicht durchgetestet... aber so ähnlich sollte es gehen./C Führt den Befehl in der Zeichenfolge aus und endet dann.
/K Führt den Befehl in der Zeichenfolge aus und endet dann nicht.
Diese UNIX-Tools müssen im Suchpfad sein, oder deren Aufruf muss mit Pfad ergänzt werden.
Durch das ? Fragezeichen bei Param= wird einem das Kommandofenster vor der Ausführung angezeigt, sodass man noch Änderungen vornehemen könnte.
Nimm mal "UserCmd.ini", "comspec" und "em_ command" als Suchbegriff hier im Forum für weitere Infos.
------------------------------------
Ruf mal das Tool mit der Hilfefunktion auf: z.B. GREP --helpmalo.conny wrote:Update: habe nun mit UnxUtils gemacht, allerdings suche ich dann nicht in Unterordnern, was aber gehen muss.
"Mein" GREP hat solch einen Parameter : -R, -r, --recursive
Ich habe diese Versionen benutzt (ohne Wertung)
C:\>grep --version
GNU grep 2.5.3
Copyright (C) 1988, 1992-2002, 2004, 2005 Free Software Foundation, Inc.
C:\>awk --version
GNU Awk 3.1.6
Copyright (C) 1989, 1991-2007 Free Software Foundation.
HTH?
------------
BTW:
Man kann sich auch nur die Vorkommen pro Datei anzeigen lassen
C:\MyPHPFiles>grep -r -c function *.php
Der AWK Befehl zählt dann alle Ergebnis des GREP-Kommandos zusammen
C:\> <grep befehl> pipe | awk -F: "{sum += $2}; END {print sum}"
Man kann auch das Ergebnis dieser Kommandos in eine Textdatei umleiten:
C:\MyPHPFiles>grep -r -c function *.php |awk -F: "{sum += $2}; END {print sum}" >C:\Temp\Ergebnis.txt
-
- Junior Member
- Posts: 28
- Joined: 2005-03-11, 09:45 UTC
Dieses Thema ist noch unbeantwortet - interessiert mich auch.Mr Evil wrote:dazu faellt mir etwas ein
wenn ich dateien durchsuchen lass - dauerts je nach anzahl entsprechend
wenn ich darauf hin nochmal mit dem selben string durchsuche dauerts nur noch ein paar millisekunden
ist das ergebnis dann aus nem cache ? ist es ueberhaupt noch verwertbar?
...
Peter
TC 10.xx / #266191
Win 10 x64
Win 10 x64
nun, ich nehme nicht an, das tc einen eigenen cache für die suche benutzt, sondern den von windows-dateisystem nutzt. entsprechend wenig kann man nichts genaues nicht sagen, ausser, das du dich darauf verlassen musst, das windows das vorhandensein geänderter dateien bemerkt und entsprechend aus dem cache schmeisst. ergo, tc sie bei der nächsten suche direkt von der platte läd und windows diese neue version dann wieder in den cache schreibt.Peter wrote:Dieses Thema ist noch unbeantwortet - interessiert mich auch.Mr Evil wrote:dazu faellt mir etwas ein
wenn ich dateien durchsuchen lass - dauerts je nach anzahl entsprechend
wenn ich darauf hin nochmal mit dem selben string durchsuche dauerts nur noch ein paar millisekunden
ist das ergebnis dann aus nem cache ? ist es ueberhaupt noch verwertbar?
...
Peter
Was nützt der Löffel für die Weisheit, wenn man zu weit vom Suppentopf entfernt sitzt?
Mario
Mario