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-ID: 59243

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

Ausgedruckt am: 14.11.2024 um 01:11 Uhr

thorti85
thorti85 17.05.2007 um 17:29:46 Uhr
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
FinalBinary
FinalBinary 17.05.2007 um 17:30:48 Uhr
Goto Top
Hallo!

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

MfG
Finalbinary
thorti85
thorti85 17.05.2007 um 17:46:51 Uhr
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.
Biber
Biber 17.05.2007 um 21:28:10 Uhr
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
thorti85
thorti85 18.05.2007 um 08:57:24 Uhr
Goto Top
Ah ok, gut zu wissen,
vielen Dank!

Gruss