
Ich muss eine Festplatte nach einer Datei durchsuchen, kenne aber den Namen der Datei nicht. Ich weiß nur, dass die Datei eine Liste mit E-Mail-Adressen enthält. (Ich weiß nicht, welche E-Mail-Adressen in der Datei enthalten sind, ich weiß nur, dass es eine Liste mit E-Mail-Adressen gibt.) Bei der Datei handelt es sich nicht unbedingt um ein Word- oder TXT-Dokument. Gibt es eine Möglichkeit, diese Datei zu finden? Danke für die Hilfe!
(Ich habe einen Windows-Computer)
Antwort1
Sie können grep für Windows verwenden (in dieser Antwort gibt es mehrere Download-Optionen -https://superuser.com/a/301075/321990).
Ein Beispielbefehl, der eine Übereinstimmung ergibt (er sucht rekursiv von der Stelle aus, an der er ausgeführt wird, nach einer Regex-Übereinstimmung):
grep -r -E ".+\@.+\..+" *
Die übereinstimmende Datei enthält Folgendes:
[email geschützt]
[email geschützt]
[email geschützt]
pipi
nana
anilopo$a8
Es werden Ihnen die 3 E-Mail-Zeilen neben dem Dateinamen ausgedruckt. Es sieht folgendermaßen aus: Wobei yo.txt die Datei ist, die die obigen Zeichenfolgen enthält und sich im Ordner „new“ befindet
new/yo.txt:[email protected]
Wenn Sie nur die Dateinamen möchten, können Sie den -l
Parameter zu grep hinzufügen:
grep -l -r -E ".+\@.+\..+" *
Und es wird nur Folgendes gedruckt:
new/yo.txt
Der von mir verwendete reguläre Ausdruck ist sehr einfach und wird wahrscheinlich mehr Dinge finden, da er nicht genau ist. Sie können im Internet nach einem besseren regulären Ausdruck suchen, um E-Mail-Adressen zu überprüfen, und ihn ".+\@.+\..+"
mit dem ändern, was Sie gefunden haben.
Ich hoffe es hilft!