forgottenrealm
Goto Top

Mit Find oder Findstr einen String nach einem Wert durchsuchen

Hallo face-smile

Ich bin auf auf der Suche nach einer Möglichkeit, mithilfe von FIND oder FINDSTR einen String auf eine Zeichenfolge zu untersuchen.

Anscheinend kann man mit Find und Findstr nur Dateien nach Zeichenfolgen durchsuchen, oder ich habe den richtigen Parameter übersehen.


Mein String sieht bisher so aus;

findstr /L "%User%" "%Line%" >NUL && echo "%Line%"


Der Wert User wird aus einer CSV Tabelle (User.csv) ausgelesen, wo es diesen nur einmal gibt.

Die Zeichenfolge Line wird aus einer anderen CSV Datei (User_Data.csv) ausgelesen, in welcher der Wert User durchaus vorhanden sein kann.

Ich möchte erreichen, dass die Tabelle User.csv pro Zeile abgearbeitet wird (läuft bereits) und anschließend jede Zeile aus der Tabelle User_Data.csv, in welcher der Wert der jeweiligen Zeile aus Tabelle User.csv vorkommt, ausgegeben wird.


Zum Veranschaulichen;

Tabelle User enthällt nur die Spalte User

Tabelle User_Data enthällt bis zu 30 Spalten, von denen in mindestens einer Zeile der Username steht, wie er auch in Tabelle User ist.


Ich hoffe ihr versteht wie ich das meine und könnt mir helfen face-smile
Kommentar vom Moderator Biber am Mar 23, 2011 um 20:48:30 Uhr
Verschoben von "Entwicklung" nach "Batches From Hell"

Content-Key: 163251

Url: https://administrator.de/contentid/163251

Printed on: April 23, 2024 at 06:04 o'clock

Member: Skyemugen
Skyemugen Mar 23, 2011 at 18:07:13 (UTC)
Goto Top
Aloha,

irgendwie bin ich schon zu müde, um den Salat zu verdauen aber hilft dir der Hinweis des üblichen
echo %var% | find "string"

if errorlevel 1 goto :machwas
etwas? ist mir alles schon wieder zu viel Text, haha

greetz André
Member: Biber
Biber Mar 23, 2011 at 20:45:00 (UTC)
Goto Top
Moin ForgottenRealm,

ich hätte es besser gefunden, wenn du ein (anonymisiertes) 5-Zeilen-Beispiel gepostet hättest.
So, wie ich es glaube zu erahnen, würde ich unterstellen, es existert eine User-Detail-Info-CSV sinngemäß so:
>type userdummy.csv
CN=KRANK6,OU=X16Y64,OU=FIFA,OU=Domain Users,DC=what,DC=ewwer ; Wahr ; 25.02.2008 09:01:57
CN=SCHALKE,OU=Z73V33,OU=FIFA,OU=Domain Users,DC=what,DC=ewwer ; Wahr ; 22.02.2008 08:01:57
CN=WERDER,OU=H47B11,OU=FIFA,OU=Domain Users,DC=what,DC=ewwer ; Wahr ; 04.04.2008 08:01:57
CN=FCBAYERN,OU=N7552,OU=FIFA,OU=Domain Users,DC=what,DC=ewwer ; Wahr ; 21.04.2008 07:01:57
CN=KLAUTERN,OU=K16L79,OU=FIFA,OU=Domain Users,DC=what,DC=ewwer ; Wahr ; 28.02.2008 10:01:57
CN=ACMAILAND,OU=A17C23,OU=FIFA,OU=Domain Users,DC=what,DC=ewwer ; Wahr ; 05.05.2008 07:01:57
....

Und eine Nur-Usernamen-Datei, z.B. so:
>for %i in (Werder,Schalke,ACMailand,FCBayern) do @echo %i>>usernamen.txt
>type usernamen.txt
Werder
Schalke
ACMailand
FCBayern

Dann bekämst du alle Userdetails der Usernamen in der "usernamen.txt" so:
(=21:37:44  D:\temp=)
>FOR /F %i in (usernamen.txt) do @Findstr /i "%i" userdummy.csv
CN=WERDER,OU=H47B11,OU=FIFA,OU=Domain Users,DC=what,DC=ewwer ; Wahr ; 04.04.2008 08:01:57
CN=SCHALKE,OU=Z73V33,OU=FIFA,OU=Domain Users,DC=what,DC=ewwer ; Wahr ; 22.02.2008 08:01:57
CN=ACMAILAND,OU=A17C23,OU=FIFA,OU=Domain Users,DC=what,DC=ewwer ; Wahr ; 05.05.2008 07:01:57
CN=FCBAYERN,OU=N7552,OU=FIFA,OU=Domain Users,DC=what,DC=ewwer ; Wahr ; 21.04.2008 07:01:57

War das so ungefähr die Frage?

Grüße
Biber
Member: ForgottenRealm
ForgottenRealm Apr 11, 2011 at 07:14:15 (UTC)
Goto Top
Hallo ihr

Erst einmal entschuldigung dafür, dass ich nicht geantwortet habe, aber ich war längere Zeit nicht am PC.

Die Lösung von Andre hat bereits funktioniert, allerdings dauert es recht lange bis die Dateien Verarbeitet werden (etwa 5 Minuten)

Die Datei sieht wie folgt aus:

http://bluelagoonx.dyndns.org/doc/Global_Sicherungen.csv