Re: Frage zu rm aus ls -lisatr
Dirk Götte wrote:
ich habe ein Problem, dass ich eine sehr große Menge an Dateien eines bestimmten timestamps löschen muss.
Nun dachte ich, dass ich mit
rm 'ls -lisatr *dateien | grep Apr 16 11:45'
diese löschen könnte.
Ja, warum auch nicht. (Vorausgesetzt, du setzt das Datum noch in ""!)
Leider scheint rm einiges anders zu sortieren,
rm sortiert? Was ganz neues!
so dass ich schon ein Backup eingespielt habe bei meinen Versuchen. Da es ein Produktiver Server ist, wollte ich lieber mal Fragen, nachdem googlen mich nicht weiter gebracht hat.
Was ist denn das Problem? Wenn dir ls -lisatr *dateien | grep "Apr 16 11:45" die gewünschten Dateien liefert musst Du noch die Namen extrahieren: z.B ls -lisatr *dateien | grep "Apr 16 11:45"|awk '{print $11}' und das kannst'e dann am "rm" verfüttern: rm $(ls -lisatr *dateien | grep "Apr 16 11:45"|awk '{print $11}') oder besser ls -lisatr *dateien | grep "Apr 16 11:45"|awk '{print $11}'|xargs rm Andreas PS: @David - Bevor du es wieder richtigerweise anmerkst: Die Dateinamem dürfen natürlich keine Blanks oder wilde Sonderzeichen enthalten -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
Dirk Götte wrote:
ich habe ein Problem, dass ich eine sehr große Menge an Dateien eines bestimmten timestamps löschen muss.
Nun dachte ich, dass ich mit
rm 'ls -lisatr *dateien | grep Apr 16 11:45'
ls -lisatr *dateien | grep "Apr 16 11:45"|awk '{print $11}'|xargs rm
Thx Andreas und danke an alle die noch geholfen hätten :) Manchmal ist man einfach nur deppert. Die Lösung war und ist xargs, ich kam nur nicht drauf. Aber mit ls -lisatr *dateien | grep -i Apr | awk '{print $12}' | xargs rm tut er genau was ich will, er löscht damit alle Dateien die im April erstellt wurden! thx und schönen Tag noch Dirk -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
Hallo, Am Don, 14 Jun 2007, Dirk Götte schrieb:
Dirk Götte wrote:
ich habe ein Problem, dass ich eine sehr große Menge an Dateien eines bestimmten timestamps löschen muss.
Nun dachte ich, dass ich mit
rm 'ls -lisatr *dateien | grep Apr 16 11:45'
ls -lisatr *dateien | grep "Apr 16 11:45"|awk '{print $11}'|xargs rm
Thx Andreas und danke an alle die noch geholfen hätten :) Manchmal ist man einfach nur deppert.
Die Lösung war und ist xargs, ich kam nur nicht drauf.
Aber mit ls -lisatr *dateien | grep -i Apr | awk '{print $12}' | xargs rm tut er genau was ich will, er löscht damit alle Dateien die im April erstellt wurden!
Wie gesagt, das fliegt dir schon bei Leerzeichen im Dateinamen um die Ohren... Verwende besser 'find'. -dnh -- If you want to know what God thinks of money, just look at the people He gave it to -- Dorothy Parker -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
Dirk Götte wrote:
ich habe ein Problem, dass ich eine sehr große Menge an Dateien eines bestimmten timestamps löschen muss.
Nun dachte ich, dass ich mit
rm 'ls -lisatr *dateien | grep Apr 16 11:45'
ls -lisatr *dateien | grep "Apr 16 11:45"|awk '{print $11}'|xargs rm
Thx Andreas und danke an alle die noch geholfen hätten :) Manchmal ist man einfach nur deppert.
Die Lösung war und ist xargs, ich kam nur nicht drauf.
Aber mit ls -lisatr *dateien | grep -i Apr | awk '{print $12}' | xargs rm tut er genau was ich will, er löscht damit alle Dateien die im April erstellt wurden!
Wie gesagt, das fliegt dir schon bei Leerzeichen im Dateinamen um die Ohren...
Verwende besser 'find'.
Also ich habe das mal mit "Apr 14" getestet und da ist doch ein Leerzeichen drin? Du meinst also lieber ein find zum genauen Datum und Uhrzeit mit anschließendem exec rm ...? Das find ich in diesem Falle zu kompliziert. thx aber für den Hinweis und schönes Wochenende Dirk -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
Hallo, Am Fre, 15 Jun 2007, Dirk Götte schrieb:
Dirk Götte wrote: [..] Aber mit ls -lisatr *dateien | grep -i Apr | awk '{print $12}' | xargs rm tut er genau was ich will, er löscht damit alle Dateien die im April erstellt wurden!
Wie gesagt, das fliegt dir schon bei Leerzeichen im Dateinamen um die Ohren...
Verwende besser 'find'.
Also ich habe das mal mit "Apr 14" getestet und da ist doch ein Leerzeichen drin?
Nicht im Muster für grep.
Du meinst also lieber ein find zum genauen Datum und Uhrzeit mit anschließendem exec rm ...? Das find ich in diesem Falle zu kompliziert.
$ ls $ touch foo 'f o o b a r' $ ls -lisAtr | grep 'Jun 16' | awk '{print $11;}' | xargs ls -lb ls: f: No such file or directory -rw-r--r-- 1 dh dh 0 Jun 16 04:17 foo Noch Fragen? -dnh -- BOFH excuse #57: Groundskeepers stole the root password -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
participants (3)
-
David Haller
-
Dirk Götte
-
Kyek, Andreas, VF-DE