Script zum Sortieren nach Datum gesucht

F

flex0

Grünschnabel
Hallo,

ich suche nach einer Scriptlösung, um dutzende von Dateien in einem Ordner welche im Zeitstempel einen bestimmten Monat haben in einen separaten Ordner zu kopieren. Ich scheitere leider schon an einem Befehl, um mir den Timestamp einer Datei zu holen und auszuwerten :think:

Wäre klasse, wenn jemand einen kleinen Gedankenansatz beisteuern könnte. :)

Vielen Dank und Grüße...
 
man ls und man date sollten helfen. in wie weit kennst du dich denn mit dem thema shellprogrammierung aus?
 
naja, kenne mich schon mit den Standardbefehlen und -syntax aus und habe vor einigen Jahren mal mehrere Befehle aneinandergekettet.
Knackpunkt ist ja, wie ich meinen Kopierbefehl lediglich auf die dateien anwende, bei denen ein bestimmter Monat im Timestamp steht.
In den Manpages gibt es ja super Parameter zum sortieren, allerdings hapert es an der logischen Verknüpfung mit diesen gefundenen Daten anschließend zu arbeiten.
 
wie wäre es mit

Code:
ls -l | grep DAS_DATUM_WAS_DU_SUCHST

da braucht man kein profi sein um darauf zu kommen oder?
 
Hallo
Entweder du verwendest stat , oder (wenn du einen bestimmten Monat eines Jahres willst auch eine Kombination aus ls -l cut und grep.

Beispiel alle Dateien des aktuellen Verzeichnisses vom Februar 2007:
Code:
 stat -c "%z %n" ./*|grep "2007-02"|while read D T T1 FILE; 
do 
echo "$FILE ist vom $D";
done
### oder mit ls
ls -l  ./* |cut -d" " -f6- |grep "2007-02"|while read DATE TIME FILE;
do
echo "$FILE ist vom $DATE $TIME"
done

Statt echo eben dein mv.

man stat
man cut
man grep
man find
...

Es gibt derer noch viele Möglichkeiten mehr.

Gruß Wolfgang
 
Meine Idee wäre es, mit ls-la|grep $MONAT > bla.txt ersteinmal alle entsprechenden Dateien die im entsprechenden Monat angefasst wurden in bla.txt zu schreiben, dann bla.txt so editieren dass alles bis auf den Dateinamen weggeschnitten wird und anschließend vor jede zeile ein mv bzw. cp, das scheint mir allerdings sehr umständlich...
.
.
.
EDIT (autom. Beitragszusammenführung) :
.

wie wäre es mit

Code:
ls -l | grep DAS_DATUM_WAS_DU_SUCHST

da braucht man kein profi sein um darauf zu kommen oder?

stimmt, muss man nicht sein - aber wie gesagt: ich würde gerne noch anschließend mit den daten arbeiten und sie mir nicht nur ausgeben lassen.

@Wolfgang: danke, werde ich mal probieren! :))
 
Zuletzt bearbeitet:
Hallo
Denke auch darüber nach, dass der gleiche Monat in verschiedenen Jahren vorkommen kann.
Deshalb habe ich das mit Jahreszahl gemacht.
Wenn das Jahr egal ist, wird es einfacher.

Du brauchst eigentlich nur noch deine Befehle einfügen und den Monat anpassen.

Gruß Wolfgang
 

Ähnliche Themen

Shell Skript zum automatischen Aufräumen von doppelten Ordnern

Löschroutine mit Überprüfung

Inhalte in einer Datei suchen und Dateiname ausgeben

2 Anfänger Fragen! grep & cp - Bitte helfen!

FTP-get Shell Script

Zurück
Oben