Ich möchte alle Dateien finden und den Pfad und den Dateinamen für jede Datei drucken, in der der Text "Numlock" verwendet wird - ob in Klein-, Groß- oder Großbuchstaben.
Welchen Befehl soll ich verwenden?
command-line
grep
ksor
quelle
quelle
tail -10 ~/.bash_history
Befehl zeigt Ihnen die letzten 10 Befehle, die Sie auf dem Terminal ausgeführt haben. Daraus können Sie den einen identifizieren.Antworten:
Das folgende Skript durchsucht (Text-) Dateien in einem bestimmten Verzeichnis rekursiv nach Vorkommen einer bestimmten Zeichenfolge, unabhängig davon, ob diese in Groß- oder Kleinbuchstaben oder in einer Kombination davon vorliegt.
Sie erhalten eine Liste der gefundenen Übereinstimmungen, die Pfade zu den Dateien, kombiniert mit dem Dateinamen und den tatsächlichen Vorkommen der Zeichenfolge in der Datei.
usw.
Um die Suchzeit zu begrenzen, würde ich in bestimmten Verzeichnissen nach Übereinstimmungen suchen, also nicht nach 2 TB Dateien;).
Um es zu benutzen:
1] Kopieren Sie den folgenden Text und fügen Sie ihn in eine leere Textdatei (gedit) ein. 2] Bearbeiten Sie die beiden Zeilen im Kopfabschnitt, um die zu suchende Zeichenfolge und das zu durchsuchende Verzeichnis zu definieren. 3] Speichern Sie es als searchfor.py. 4] So führen Sie es aus: Öffnen Sie ein Terminal, geben Sie
python3
+ einspace
, ziehen Sie das Skript in das Terminalfenster und drücken Sie die Eingabetaste. Die Liste der gefundenen Übereinstimmungen wird im Terminalfenster angezeigtIm Fehlerfall wird dies vom Skript erwähnt.
quelle
Sie können
grep -r
eine rekursive Suche nach Dateiinhalten durchführen, zWo
/path/to/search/dir/
befindet sich das Verzeichnis der obersten Ebene, von dem aus Sie die Suche starten möchten? Sie können es verwenden, sind/
jedoch darauf vorbereitet, dass es lange dauert.Einige Variationen, abhängig von Ihrer genauen Anforderung:
-r
Option in,-R
wenn Sie symbolischen Links folgen möchten-l
Option hinzu, nur die Namen der gefundenen Dateien zu druckenDas
I
weist grep an, Binärdateien zu ignorieren, undi
macht die Suche unabhängig von Groß- und Kleinschreibung.Wenn Ihre Version von grep keine rekursive Suche unterstützt, können Sie dasselbe mit einer Kombination aus find und grep erreichen, z
quelle