A
Akasabi
Grünschnabel
Hallo zusammen,
ich würde gerne Wissen wie ich am einfachsten Dateien nach einem bestimmten Datum in einem Verzeichnis suchen kann.
Das Beispielverzeichnis sieht so aus:
/data/tmp/uebung/Aufgabe300
-rw------- 1 root root 55600 Sep 25 13:33 CPsrv_log_001_00.txt
-rw------- 1 root root 88855 Sep 25 13:33 CPsrv_log_001_01.txt
-rw------- 1 root root 63291 Sep 25 13:33 CPsrv_log_001_02.txt
-rw------- 1 root root 74294 Sep 25 13:33 CPsrv_log_001_03.txt
-rw------- 1 root root 2370098 Sep 25 13:33 WPsrv_log_001_00.txt
-rw------- 1 root root 3922777 Sep 25 13:33 WPsrv_log_001_01.txt
-rw------- 1 root root 3861959 Sep 25 13:33 WPsrv_log_001_02.txt
-rw------- 1 root root 9610 Feb 14 09:20 WPsrv_log_20110206_035013_00003236_00.txt
-rw------- 1 root root 9610 Feb 14 09:21 WPsrv_log_20110206_035138_00003336_00.txt
-rw------- 1 root root 9609 Feb 14 09:21 WPsrv_log_20110206_050847_00000605_00.txt
Ich hätte gerne alle Dateien vom 25 September ausgegeben und zwar so, dass ich sie weiter verarbeiten kann.
Meine erste Idee war es mit find zu versuchen aber da kenne ich nur die Möglichkeit des Suchmusters "älter bzw. jünger als..."
Zum Beispiel:
Aber das bringt mich nicht weiter -.- Gibt es eine Möglichkeit dies mit find zu lösen?
Mein zweiter Ansatz ist eine Kombination aus awk und sed aber die finde ich nicht wirklich elegant
Die Ausgabe der Datei Ausgabe.txt sieht so aus:
Sep 25 13:33 CPsrv_log_001_00.txt
Sep 25 13:33 CPsrv_log_001_01.txt
Sep 25 13:33 CPsrv_log_001_02.txt
Sep 25 13:33 CPsrv_log_001_03.txt
Sep 25 13:33 WPsrv_log_001_00.txt
Sep 25 13:33 WPsrv_log_001_01.txt
Sep 25 13:33 WPsrv_log_001_02.txt
Feb 14 09:20 WPsrv_log_20110206_035013_00003236_00.txt
Feb 14 09:21 WPsrv_log_20110206_035138_00003336_00.txt
Feb 14 09:21 WPsrv_log_20110206_050847_00000605_00.txt
Als nächstes habe ich die Dateien mit dem Datum "Sep 25" mit einem sed aus der Datei in eine andere eingefügt.
Das hat auch soweit funktioniert.
Die Ausgabe der Datei Ausgabe2.txt wäre wie folgt:
Sep 25 13:33 CPsrv_log_001_00.txt
Sep 25 13:33 CPsrv_log_001_01.txt
Sep 25 13:33 CPsrv_log_001_02.txt
Sep 25 13:33 CPsrv_log_001_03.txt
Sep 25 13:33 WPsrv_log_001_00.txt
Sep 25 13:33 WPsrv_log_001_01.txt
Sep 25 13:33 WPsrv_log_001_02.txt
Nun würde mich interessieren was ihr von meiner Lösung haltet und ob es nicht einfachere und bessere Wege gibt.
Ich bin mir sicher das es diese Wege gibt, da ich selber nur wenig Erfahrung mit Unix habe.
Ich bedanke mich schon einmal für eure Hilfe und bin gespannt auf eure Antworten
Gruß Akasabi
ich würde gerne Wissen wie ich am einfachsten Dateien nach einem bestimmten Datum in einem Verzeichnis suchen kann.
Das Beispielverzeichnis sieht so aus:
/data/tmp/uebung/Aufgabe300
-rw------- 1 root root 55600 Sep 25 13:33 CPsrv_log_001_00.txt
-rw------- 1 root root 88855 Sep 25 13:33 CPsrv_log_001_01.txt
-rw------- 1 root root 63291 Sep 25 13:33 CPsrv_log_001_02.txt
-rw------- 1 root root 74294 Sep 25 13:33 CPsrv_log_001_03.txt
-rw------- 1 root root 2370098 Sep 25 13:33 WPsrv_log_001_00.txt
-rw------- 1 root root 3922777 Sep 25 13:33 WPsrv_log_001_01.txt
-rw------- 1 root root 3861959 Sep 25 13:33 WPsrv_log_001_02.txt
-rw------- 1 root root 9610 Feb 14 09:20 WPsrv_log_20110206_035013_00003236_00.txt
-rw------- 1 root root 9610 Feb 14 09:21 WPsrv_log_20110206_035138_00003336_00.txt
-rw------- 1 root root 9609 Feb 14 09:21 WPsrv_log_20110206_050847_00000605_00.txt
Ich hätte gerne alle Dateien vom 25 September ausgegeben und zwar so, dass ich sie weiter verarbeiten kann.
Meine erste Idee war es mit find zu versuchen aber da kenne ich nur die Möglichkeit des Suchmusters "älter bzw. jünger als..."
Zum Beispiel:
Code:
find *.txt -mtime +10
Aber das bringt mich nicht weiter -.- Gibt es eine Möglichkeit dies mit find zu lösen?
Mein zweiter Ansatz ist eine Kombination aus awk und sed aber die finde ich nicht wirklich elegant
Code:
ls -lrt | awk '{print $6, $7, $8, $9}' > Ausgabe.txt
Die Ausgabe der Datei Ausgabe.txt sieht so aus:
Sep 25 13:33 CPsrv_log_001_00.txt
Sep 25 13:33 CPsrv_log_001_01.txt
Sep 25 13:33 CPsrv_log_001_02.txt
Sep 25 13:33 CPsrv_log_001_03.txt
Sep 25 13:33 WPsrv_log_001_00.txt
Sep 25 13:33 WPsrv_log_001_01.txt
Sep 25 13:33 WPsrv_log_001_02.txt
Feb 14 09:20 WPsrv_log_20110206_035013_00003236_00.txt
Feb 14 09:21 WPsrv_log_20110206_035138_00003336_00.txt
Feb 14 09:21 WPsrv_log_20110206_050847_00000605_00.txt
Als nächstes habe ich die Dateien mit dem Datum "Sep 25" mit einem sed aus der Datei in eine andere eingefügt.
Code:
sed -n '/Sep 25/p' Ausgabe.txt > Ausgabe2.txt
Das hat auch soweit funktioniert.
Die Ausgabe der Datei Ausgabe2.txt wäre wie folgt:
Sep 25 13:33 CPsrv_log_001_00.txt
Sep 25 13:33 CPsrv_log_001_01.txt
Sep 25 13:33 CPsrv_log_001_02.txt
Sep 25 13:33 CPsrv_log_001_03.txt
Sep 25 13:33 WPsrv_log_001_00.txt
Sep 25 13:33 WPsrv_log_001_01.txt
Sep 25 13:33 WPsrv_log_001_02.txt
Nun würde mich interessieren was ihr von meiner Lösung haltet und ob es nicht einfachere und bessere Wege gibt.
Ich bin mir sicher das es diese Wege gibt, da ich selber nur wenig Erfahrung mit Unix habe.
Ich bedanke mich schon einmal für eure Hilfe und bin gespannt auf eure Antworten
Gruß Akasabi