Hallo Michael,

die Welt ist viel böser, als man annimmt. Es gibt Dateien, die mit "-" anfangen. Bei solchen Dateinamen würde Dein cp Befehl z.B. versagen. Die Lösung wäre evtl ./$i statt $i
Gruß. :-)

P.S.:
Ich bin damit bei Google im 2. Telefoninterview durchgefallen.

Michael Bischof schrieb:
Am Sonntag, 23. März 2008 21:43:26 schrieb Michael Bischof:

So, die Lösung für die Konsole:

cd /quellverzeichnis ls -At > liste.txt
 sed -i '1,3d' liste.txt #(löscht die ersten drei Dateien)
 tac liste.txt | sed -e '1,5d' > liste-neu.txt
 tac liste-neu.txt > liste.txt
for i in `cat liste.txt`; do cp -Rf $i /neues/verzeichnis/; done ( statt cp kann auch mv verwendet werden, dann entfallen die Optionen -Rf)

Gruß,

Michael Bischof


Michael Bischof <[EMAIL PROTECTED]> writes:
Hi,
falls Jemand gerade mitliest - ein Beispiel aus einem Flamewar:

,,Aber bitte, wenn du unbedingt einen irrelevanten Bullshit-Test
 verlieren willst: wie lange musst du man-Pages lesen und probieren,
 wenn die Aufgabe lautet: verschiebe alle Dateiobjekte (= alles, was
 im Filesystem liegen kann: Ordner, reguläre Dateien, andere Dateien)
 aus einem Ordner in einen gemeinsamen Zielordner mit Ausnahme der
 ältesten 5 fünf und der jüngsten drei? Es seien mehr als 8
 Dateiobjekte vorhanden. Die Zeit läuft ab ... jetzt. ''
Die meisten Dateisysteme enthalten keine Informationen über den genauen
Zeitpunkt, wann eine Datei kreiert worden ist.
Tobias,

mit ls --sort=time > c.ergebnis.txt

erhalte ich die gewünschte Reihenfolge. In diesem Fall müßte man die letzen
5 Einträge und die ersten 3 aus der Datei löschen und den Rest dann in den
Zielordner verschieben.

Wie würde das
- in der Konsole zu machen sein
- evtl. in einem Skript?

Gruß,

Michael Bischof




--
Valentin Heinitz
Hollerbornstr. 77
65197 Wiesbaden

Phone:  +49(0)611 532-84-77
Mobile: +49(0)160 950-39-758
Web:    http://heinitz-it.de

--
----------------------------------------------------------------------------
PUG - Penguin User Group Wiesbaden - http://www.pug.org

Antwort per Email an