GNU/Linux >> LINUX-Kenntnisse >  >> Debian

Debian – In den letzten 2 Minuten nach zuletzt geänderten Dateien in Ihrem Home-Verzeichnis suchen, die eine bestimmte Zeichenfolge enthalten?

Ich suche in meinem Home-Verzeichnis nach Dateien, die in den letzten zwei Minuten geändert wurden und die ebenfalls eine bestimmte Zeichenfolge enthalten. Ich habe es mit diesem Befehl versucht:

 find -type d -mmin -2 -ls | grep -Ril "mystring" 

Es scheint zu funktionieren, aber anscheinend druckt es nur die Dateien mit der angegebenen Zeichenfolge und nicht die Dateien, die zuletzt vor 2 Minuten geändert wurden und die Zeichenfolge enthalten. Anscheinend wird der erste Teil des Befehls nicht ausgeführt.

Akzeptierte Antwort:

Sie hatten einen guten Versuch mit Ihrem eigenen Vorschlag

find -type d -mmin -2 -ls | grep -Ril "mystring"

Dies hätte Verzeichnisse identifiziert (-type d ), die in den letzten zwei Minuten geändert wurden, und nicht Dateien (-type f ). Weiterleitung der Ausgabe von -ls zu grep hätte normalerweise die generierten Dateinamen nach mystring durchsucht . Allerdings in diesem Fall das -R Flag ändert das Verhalten von grep und es ignoriert Ihre Liste mit Dateinamen und durchsucht stattdessen jede Datei im und unterhalb des aktuellen Verzeichnisses.

Lassen Sie uns das Problem also in zwei Teile aufteilen

  1. Suchen Sie nach zuletzt geänderten Dateien in den letzten 2 Minuten in Ihrem Home-Verzeichnis

    find ~ -type f -mmin -2
    
  2. [Dateien] die einen bestimmten String enthalten

    grep -Fl 'certain String' {files...}
    

Jetzt müssen Sie sie zusammenfügen. Der {} ist ein Platzhalter für die von find generierten Dateinamen aus Schritt 1 und das nachgestellte + gibt an, dass der {} kann mehrfach wiederholt werden , also mehrere Dateinamen

    find ~ -type f -mmin -2 -exec grep -Fl 'certain String' {} +

grep ändern zu echo grep zeigt Ihnen, was von find ausgeführt wird Befehl; Dies kann eine nützliche Debugging-Technik sein:

    find ~ -type f -mmin -2 -exec echo grep -Fl 'certain String' {} +

Bitte erwägen Sie, man find auszuführen und man grep um herauszufinden, was die verschiedenen Optionen sind, wie zum Beispiel -F und -l in grep -Fl , da Sie sonst nichts aus der vorgegebenen Übung lernen; Sie kopieren nur eine Antwort.


Debian
  1. Wie finde ich alle Dateien, die keine Textzeichenfolge enthalten?

  2. Dateien finden, für die mehrere Variationen dieses Dateinamens zusammen im selben Verzeichnis vorhanden sind?

  3. Nur die letzten 8 Dateien in einem Verzeichnis in ein anderes Verzeichnis verschieben?

  4. Linux:Suchen Sie nach kürzlich geänderten Dateien des Typs *.php

  5. Eine schnelle Möglichkeit, in vielen Dateien in einem Projekt nach bestimmten Codezeilen zu suchen

So durchsuchen Sie Ihre Dateien oder Verzeichnisse mit dem Find-Befehl in Linux

Welches Backup-Tool ist das Beste für Debian 11?

So finden Sie Dateien in Debian 10

So suchen Sie nach Dateien über die Linux-Befehlszeile

So suchen Sie vom Terminal aus in Ubuntu nach einem Verzeichnis

So finden Sie Dateien, die eine bestimmte Suchzeichenfolge nicht enthalten