thorti85
Goto Top

Inhalt mehrer Dateien löschen

Hallo,

ich will wissen, wie ich den inhalt mehrerer Dateien löschen kann.
Als Beispiel hab ich schon mal das hier versucht,

"cat /dev/null > *.log"

So sollte doch der Inhalt aller *.log-Dateein im Verzeichnis gelöscht werden... habe ich gedacht.
Jetzt komt aber der Fehler "ambiguous redirect" (also mehrdeutig umgeleitet).
Wie macht man das am besten?

Danke schon mal für kommende Antoworten

Gruß
T-Rule

Content-Key: 59243

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

Printed on: April 25, 2024 at 10:04 o'clock

Member: thorti85
thorti85 May 17, 2007 at 15:29:46 (UTC)
Goto Top
So ich habs rausbekommen...

for x in *log; do > $x; done

So jetzt die nächste Frage, ich kapier den Befehl nicht? face-smile

eine for-Schleife, aber was macht die, in Worten erklärt?
Warum "x"?

Gruß Thorsten
Member: FinalBinary
FinalBinary May 17, 2007 at 15:30:48 (UTC)
Goto Top
Hallo!

Löschen und sofort wieder per "touch" erstellen ist keine alternative?

MfG
Finalbinary
Member: thorti85
thorti85 May 17, 2007 at 15:46:51 (UTC)
Goto Top
Hmm ne ich möchte des schnell per Kommandozeile ausführen können.


"Löschen und sofort wieder per "touch" erstellen" ... da könnte ich ja auch gleich in die Datei gehen und von Hand löschen face-wink.
Member: Biber
Biber May 17, 2007 at 19:28:10 (UTC)
Goto Top
Moin T-Rule,

for x in *log; do > $x; done

  • Die Schleife geht über alle Dateien mit der Endung *log
  • in der Schleife kann jede dieser Dateien als Variable x angesprochen werden
  • und in dieser Schleife wird "nichts" über die vorhandene Datei geschrieben, d.h. ein Leerstring

Unter M$s Shell Cmd.exe würde das einem "for %i in (*.log) do echo.>%i" entsprechen.

Gruß
Biber
Member: thorti85
thorti85 May 18, 2007 at 06:57:24 (UTC)
Goto Top
Ah ok, gut zu wissen,
vielen Dank!

Gruss