… aber eine Funktion „-newer“. Die Funktion „-newer“ ist praktisch, um absolute Zeitangaben zum Aufspüren von Dateien zu verwenden. So würde
touch -d "2010/1/1" /tmp/test.newer
find . -type f -a -name 'core.*' -a -newer /tmp/test.newer
alle regulären Dateien mit „core.“ als Anfang des Dateinamens finden, die neuer sind als der 1. Januar 2010, 00:00 Uhr.
Jedoch gibt es (komischerweise) keine Option „-older“, d.h. man kann scheinbar nicht im gleichen Aufruf auch rückwärts eingrenzen, d.h. Dateien aus einem bestimmten absoluten Zeit-Intervall suchen.
Durch kurze Überlegung wird jedoch klar, dass man keine Option „-older“ braucht, weil es ja einen Negations-Operator gibt, der aus „-newer“ („neuer als“) „\! -newer“ (also „nicht neuer als“) macht. Also:
touch -d "2010/1/1" /tmp/test.newer
touch -d "2010/12/31" /tmp/test.older
find . -type f -a -name 'core.*' -a -newer /tmp/test.newer -a \! -newer /tmp/test.older
Und so findet man alle als „core.*“ benannten regulären Dateien aus dem Jahr 2010, wobei genau genommen der Zeitpunkt (timestamp) 1. Januar 2010, 0 Uhr, 0 Minuten und 0 Sekunden fehlt. Will man 100% Abdeckung, muss man die Referenz-Datei für „-newer“ wie folgt anlegen:
touch -d "2009/12/31 23:59:59" /tmp/test.newer
oder
touch -d "2010/01/01 - 1 second" /tmp/test.newer
Done.
- GNU find hat keine Option „-older“ …
- Bourne to Bourne Again Shell Forward Compatibility
- Print XDG Desktop Definition for Application
- Find Files by Size given in Bytes
- Using sed or awk to ensure a specific last Line in a Text
- Make a Bourne Again Shell Script Log its Output to a File
- Maintaining Multi-Line „stat“ Formats using Bourne Again Shell
- Print all indented Lines following a non-indented Line