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-Key: 29103

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

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

Member: stpe
stpe Mar 28, 2006 at 07:34:38 (UTC)
Goto Top
Windows-Batch oder *nix-Shell?
Member: Steve85
Steve85 Mar 28, 2006 at 07:39:16 (UTC)
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
Member: miniversum
miniversum Mar 28, 2006 at 11:02:58 (UTC)
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
Member: Steve85
Steve85 Mar 28, 2006 at 11:32:20 (UTC)
Goto Top
kann ich auch mehrerezeichenfolgen benutzen?
z.B.

find /v "@@" "L0" C:\Temp\tood.txt >> C:\neueDatei.txt
Member: miniversum
miniversum Mar 28, 2006 at 17:39:12 (UTC)
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
Member: Biber
Biber Mar 28, 2006 at 18:08:53 (UTC)
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
Member: Steve85
Steve85 Mar 30, 2006 at 20:13:42 (UTC)
Goto Top
danke für die hilfe. habe das problem mit dem 2er find gelöst.

danke nochmals.

MFG
Stefan