steve85
Goto Top

bestimmte zeilen aus datei löschen

hallo.

mein nächstes problem ist, dass ich in einer datei mehrere zeilen habe, die mit einem @@ anfangen. diese würde ich gerne löschen. kann mir jemand sagen wie ich das mache?
zuerst mit find suchen oder?

mfg


Ps: sorry für die dummen fragen abre ich habe da keinen plan von.


[Edit Biber 30.3.2006]
Ach, steve85,
mach Dir keine Sorgen wegen "dummer Fragen"... die gibt es auch hier nicht.

Ärgerlich sind -wie überall im Leben- nur dumme Antworten.

Ich setz mal Deinen Beitrag auf "Gelöst".
Auch wenn nicht ganz klar wird, welcher "2er-Find" es nun war.. face-wink
[Edit]

Content-ID: 29103

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

Ausgedruckt am: 20.11.2024 um 10:11 Uhr

stpe
stpe 28.03.2006 um 09:34:38 Uhr
Goto Top
Windows-Batch oder *nix-Shell?
Steve85
Steve85 28.03.2006 um 09:39:16 Uhr
Goto Top
es muss unter windows laufen. bitte.

wäre echt nett, wenn mir jemand ein beispiel geben könnte, womit ich leere zeilen in einer text datei löschen kann.

mfg
miniversum
miniversum 28.03.2006 um 13:02:58 Uhr
Goto Top
Schreib einfach alle Zeilen außer denen die mit "@@" anfangen in eine neue Datei.

Das geht zum Beispiel so:

find /v "@@" C:\alteDatei.txt >> C:\neueDatei.txt

miniversum
Steve85
Steve85 28.03.2006 um 13:32:20 Uhr
Goto Top
kann ich auch mehrerezeichenfolgen benutzen?
z.B.

find /v "@@" "L0" C:\Temp\tood.txt >> C:\neueDatei.txt
miniversum
miniversum 28.03.2006 um 19:39:12 Uhr
Goto Top
Kannst ja mal versuchen es irgentwie zu schachteln, aber denke nicht das das gut geht.


Da würd ich eher erst das eine dann das andere nacheinander machen.
also:

find /v "@@" C:\alteDatei.txt >> C:\neueDatei.txt
find /v "LO" C:\neueDatei.txt >> C:\neuereDatei.txt

Da steht dann halt 2 mal "alteDatei" drüber


Kannst auch mal versuchen es mit ner For Schleife zu machen:

FOR /F "eol=- tokens=1,*" %%A in ('find /v "@@" alt.txt') do echo %%A %%B >> neu.txt

Da steht das "alteDatei" nimmer drüber.


miniversum
Biber
Biber 28.03.2006 um 20:08:53 Uhr
Goto Top
Moin steve85 und miniversum,

wenn es nur zwei, drei Suchbegriffe sind, die herausgefiltert werden sollen, dann ist eine Schachtelung noch recht übersichtlich.

Am CMD-Prompt/Im Batch::

find /v "@@" C:\alteDatei.txt |find /v "LO" C:\alteDatei.txt >> C:\neuereDatei.txt

Gruß
Biber
Steve85
Steve85 30.03.2006 um 22:13:42 Uhr
Goto Top
danke für die hilfe. habe das problem mit dem 2er find gelöst.

danke nochmals.

MFG
Stefan