grep Dateien basierend auf dem Zeitstempel
Dies sollte sehr einfach sein, aber ich bin nicht es herauszufinden. Ich habe eine große code-Basis, die mehr als 4 GB unter Linux. Ein paar header-Dateien und xml-Dateien generiert werden, sind während bauen (gnu make). Wenn es darauf ankommt, die header-Dateien generiert werden, basieren auf xml-Dateien.
Will ich suchen nach einem Schlüsselwort in der header-Datei das Letzte mal geändert wurde, nach einer Zeit Instanz ( das ist mein start compile-Zeit), und ähnlich wie xml-Dateien, aber getrennte grep-Abfragen.
Wenn ich führen Sie es auf alle möglichen header-oder xml-Dateien, es viel Zeit in Anspruch nehmen. Nur die, die im auto erzeugt. Weiter die Suche ist rekursiv, denn es gibt eine Menge von Verzeichnissen und Unterverzeichnissen.
- Möglicherweise möchten Sie auch Beispiele für Ihre aktuellen Befehle. Das erspart uns die Mühe, darauf hinzuweisen, die offensichtliche Sachen, die Sie bereits kennen.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Finden
'pattern'
alle Dateien, die neuer alssome_file
im aktuellen Verzeichnis und alle seine Unterverzeichnisse rekursiv:Könnten Sie den timestamp direkt in
date -d
- format, und verwenden Sie anderefind
tests z.B.,-name
,-mmin
.Die Datei-Liste könnte auch generieren, indem Sie Ihre build-system, wenn
find
ist zu langsam.Spezifischere tools wie
ack
,etags
,GCCSense
kann anstelle von verwendet werdengrep
.! -newer
Könnten Sie die
find
Befehl:druckt eine Liste aller Dateien (
-type f
) in und unterhalb des aktuellen Verzeichnisses (.
), die geändert wurden, in den letzten 24 Stunden (-mtime 0
ist 1 48h, 2 wäre 72h, ...). VersuchenVerwenden Sie diese. Denn wenn
find
zurück nicht eine Datei, danngrep
halten warten für eine Eingabe anhalten des Skripts.