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