Zum Inhalt springen

DOS-Befehl "find"


Technician

Empfohlene Beiträge

Hallo,

kann es sein, dass der Befehl nur eine bestimmte Zeichenanzahl zurückliefert - nämlich 1024 Zeichen?!

Ich bearbeite nämlich eine Datei, in der jede Zeile mehr als 3000 Zeichen hat - und

wenn ich

find "abc" d:\daten.dat > d:\output.dat

ausführe, bekomme ich exakt die ersten 1024 Zeichen je gefundener Zeile zurück...

Wie kann man das umgehen?!

Wäre äußerst schade, wenn's da keine Möglichkeit gäbe:(:(

Grüße,

Technician

Link zu diesem Kommentar
Auf anderen Seiten teilen

hab mal eine Seite die den Befehl FIND genau beschreibt

http://home.t-online.de/home/manfred.treutner/dosf.htm

musst etws nach unten scrollen.

Hab den Befehl selbst mal getestet!

Habe eine Datei "test.txt" erstelt mit 150.000 Zeichen "abc" teilweise in Folge, teilweise mit <br>

3277 Zeichen auf einer Zeile

Im Dosfenster Befehlseingabe C:\>find "abc" test.txt > test1.txt

In der Datei "test1.txt stand dann 1:1 übernommen:

---------- test.txt

abcabcabcabcabcabcabca.....usw. alle 150.000 Zeichen.

Also KEIN Begrenzung von 1024 zeichen

Link zu diesem Kommentar
Auf anderen Seiten teilen

Originally posted by hades

Welches Windows-Shell wird verwendet, command.com oder cmd.exe?

Koennte ja durchaus sein, dass es nicht am find selbst liegt.;)

Ich meine mich zu erinnern, dass es unter Umstaenden Probleme mit der Groesse der Ein- und Ausgabepuffer der Shell gibt. D.h. Find liefert zwar den vollstaendigen String zurueck, dieser wird von der Dosshell (Umleitung der Ausgabe) auf 1024 Zeichen gekuerzt.

Nic

Link zu diesem Kommentar
Auf anderen Seiten teilen

Originally posted by GlowingHeart

Habe eine Datei "test.txt" erstelt mit 150.000 Zeichen "abc" teilweise in Folge, teilweise mit <br>

3277 Zeichen auf einer Zeile

Im Dosfenster Befehlseingabe C:\>find "abc" test.txt > test1.txt

In der Datei "test1.txt stand dann 1:1 übernommen:

---------- test.txt

abcabcabcabcabcabcabca.....usw. alle 150.000 Zeichen.

Also KEIN Begrenzung von 1024 zeichen

komisch :confused:

Bei mir hört der in der Ausgabezeile nach exakt 1024 Zeichen auf:(

Link zu diesem Kommentar
Auf anderen Seiten teilen

Originally posted by hades

Welches Windows-Shell wird verwendet, command.com oder cmd.exe?

Koennte ja durchaus sein, dass es nicht am find selbst liegt.;)

Woran kann ich feststellen, welche Shell verwendet wird bzw. ggf. umstellen?!

(ich gehöre zu den Leuten, die zuerst Windows und dann DOS kennenlernten... also, ich kenn mich mit DOS nur äußerst wenig aus ;))

Link zu diesem Kommentar
Auf anderen Seiten teilen

Originally posted by Technician

Woran kann ich feststellen, welche Shell verwendet wird bzw. ggf. umstellen?!

(ich gehöre zu den Leuten, die zuerst Windows und dann DOS kennenlernten... also, ich kenn mich mit DOS nur äußerst wenig aus ;))

Unter windows 2000 wird standardmäßig cmd.exe gestartet.

Feststellen kannst du das indem du start->programme->zubehöhr->eingabeaufforderung und dort rechtsklick->Eigenschaften machst.

An die command.com kommst du z.B. über Ausführen und command.

MfG

Link zu diesem Kommentar
Auf anderen Seiten teilen

Originally posted by DanielH

Unter windows 2000 wird standardmäßig cmd.exe gestartet.

Feststellen kannst du das indem du start->programme->zubehöhr->eingabeaufforderung und dort rechtsklick->Eigenschaften machst.

An die command.com kommst du z.B. über Ausführen und command.

MfG

Okay. Ich bin zwar unter WinNT, aber da geht das natürlich auch.

Jedenfalls, ich erhalte in beiden Fällen nicht mehr als 1024 Zeichen zurück.

@GlowingHeart

Unter welchem Betriebssystem hast du das mit den mehr als 1024 Zeichen geschafft?

Link zu diesem Kommentar
Auf anderen Seiten teilen

Originally posted by nic_power

Denk aber dran, dass das Unix find mit dem Dos-Find nichts viel gemeinsam hat (eigentlich nichts). Der entsprechende Befehl ist grep.

Nic

Das UNIX-Script hatte ich schon vor längerer Zeit geschrieben.

Nur jetzt wollte ich eben auch eine Möglichkeit unter DOS haben - um komplett alles unter NT starten zu können...

Übrigens: ich mach das sowieso unter UNIX nicht per grep, sondern per sed (da ich nicht nur einfach die Zeilen brauche, die das Suchwort enthalten - nein, das Suchwort muss an einer bestimmten Stelle stehen...).

Unter NT hätte ich eben zusätzlich noch mal die von find ausgegebenen Zeilen mit nem kleinen Progrämmchen überprüfen müssen.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Originally posted by Technician

Das UNIX-Script hatte ich schon vor längerer Zeit geschrieben.

Nur jetzt wollte ich eben auch eine Möglichkeit unter DOS haben - um komplett alles unter NT starten zu können...

Übrigens: ich mach das sowieso unter UNIX nicht per grep, sondern per sed (da ich nicht nur einfach die Zeilen brauche, die das Suchwort enthalten - nein, das Suchwort muss an einer bestimmten Stelle stehen...).

Je nach Unix geht das auch mit grep ("grep -E" bzw. "egrep"), aber sed ist wahrscheinlich schneller.

Nic

Link zu diesem Kommentar
Auf anderen Seiten teilen

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...