Regular Expression und Suchen in Datei

Hallo,
nutze Agent Ransack und hier kann ich nach Dateiinhalt mit RE suchen.

Ich möchte alle Dateien finden, die keinen Eintrag ‚flac‘ UND keinen Eintrag ‚mp3‘ haben, um alle ‚Nichtlieder‘ rauszufinden. Groß- und Kleinschreibung soll ignoriert werden, da in manchen Dateien ‚flac‘ oder ‚fLaC‘ drin stehen. Es reicht das erstgefundene Ergebnis, sowie am Anfang der Datei.

Meine Recherchen und ersten Gehversuche schlugen alle fehl.

^(flac)

findet ja alle mit ‚flac‘, aber wie mach ich den Rest? Ich bin hier leider ein blutiger Anfänger…

Danke,
Jochen

Hallo,
nutze Agent Ransack und hier kann ich nach Dateiinhalt mit RE
suchen.

Ich möchte alle Dateien finden, die keinen Eintrag ‚flac‘ UND
keinen Eintrag ‚mp3‘ haben, um alle ‚Nichtlieder‘
rauszufinden. Groß- und Kleinschreibung soll ignoriert werden,
da in manchen Dateien ‚flac‘ oder ‚fLaC‘ drin stehen. Es
reicht das erstgefundene Ergebnis, sowie am Anfang der Datei.

Meine Recherchen und ersten Gehversuche schlugen alle fehl.

^(flac)

findet ja alle mit ‚flac‘, aber wie mach ich den Rest? Ich bin
hier leider ein blutiger Anfänger…

^ heist vom anfang aus gesehen

$ vom ende aus gesehen

/ / begrenzer
/ /i flag i = ignore case

. irgend ein zeichen

  • ein oder mehrerer
    * kein oder meherer

| trenner

( ) = gruppierung und match ergebnis

da das alles befehle sind , muss man die escapen wennman sie in einem term benutzt

wenn du also

flacFsdksjdf.mp3
^flac.*.mp3$

flacsdfsdf.txt
^flac.*

flacFsdksjdf.mp3
flacFdfgdsjdf.wav
flacFsdksjdf.avi
^flac.*(.mp3|.wav|.avi)$

flags anwenden
/^flac.*(.mp3|.wav|.avi)$/i

Danke,
Jochen

flags anwenden
/^flac.*(.mp3|.wav|.avi)$/i

noch ne frage

warum hast du /^(flac)/ gemacht ? wolltest du da ergebnis in der klammer haben um es weiter zu verarbeiten

/^(flac.*|flac.*.mp3|flac.*.wav|flac.*.avi)$/i

Hallo,

ich suche nach dem DateiINHALT, sprich NICHT im Dateinamen.

Vielleicht sollte ich mehr ausholen. Ich hab das Problem, dass viele Dateien mit 0 Bytes gefüllt sind. Um diese jetzt zu lokalisieren, möchte ich meine HDD nach allen *.flac,*.mp* durchsuchen.
Das Ergebnis soll so gefiltert werden, dass nur die 0 Bytes übrig bleiben.

Identifizieren läßt sich dass, dass im FLAC in der Datei, nicht im Dateinamen, die ersten Bytes flac oder fLaC drin stehen. MP3 steht z. B. ID3 drin.

So, wie ich das interpretiere, geht das mit RE (Dateiinhalt bei Agent Ransack), aber wie gesagt, ich bin da blutiger Anfänger.

Der Filter müsste also im Pseudocode so lauten.

Suche alle Dateien, die nicht flac (Groß- und Kleinschreibung ignorieren) enthalten UND nicht ID3 enthalten.

Man könnte das auch in zwei Abfragen aufteilen wenn das einfacher ist.

Somit gebe ich als Dateisuchkriterium ein *.flac

Dateiinhalt würde jetzt der RE Syntax kommen.

Hallo,

ich suche nach dem DateiINHALT, sprich NICHT im Dateinamen.

Vielleicht sollte ich mehr ausholen. Ich hab das Problem, dass
viele Dateien mit 0 Bytes gefüllt sind. Um diese jetzt zu
lokalisieren, möchte ich meine HDD nach allen *.flac,*.mp*

wenn null bytes sind, gibt es auch kein inhalt richtig ?

und die nächste frage wäre ob du nach binäre werten suchst ?

am besten mal klare auszüge aus dem wa du als daten hast und was du suchst. Das mit Beschreiben klappt so nicht.

Hier ein Auszug der ersten Bytes aus einer 32 MB großen FLAC Datei.

ASCII

HEX
0000 0000 0000 0000 0000 0000 …

also nichts, aber dafür 32 MB.

Hallo Jochen,

nutze Agent Ransack und hier kann ich nach Dateiinhalt mit RE
suchen.
Ich möchte alle Dateien finden, die keinen Eintrag ‚flac‘ UND
keinen Eintrag ‚mp3‘ haben

Ich kenne diesen Agent Ransack nicht, aber wie ich hier sehe, beherrscht das Programm boolean Expressions beim Suchen:
http://www.mythicsoft.com/agentransack/help/boolean_…
Wenn Du weder die Wörter flach noch mp3 in einer Datei haben willst, entspricht das ja der boolean Expression:

NOT (mp3 OR flac)

wie Du leicht mittels einer Wahrheitstafel sehen kannst:

**mp3 | flac | mp3 OR flac | NOT (mp3 OR flac)**
w | w | w | f 
f | w | w | f
w | f | w | f
f | f | f | w

wobei w = wahr (d.h. das Wort kommt vor) und f=falsch (das Wort kommt nicht vor) bedeutet.
Für die Feinheiten (ob flac nur am Anfang vorkommen kann, den Gebrauch der Klammern - da ist die Hilfe irgendwie uneinheitlich - und die Übergabe der Parameter

AgentRansack.exe -c NOT (mp3 OR flac) -ceb ...?????

so ungefähr :wink:
musst Du jetzt noch selbst sorgen. Da lese ich mich nicht auch noch ein :wink:

Viele Grüße
Marvin