Antworten:
Oder...
find $directory_name -name \*.sql
Beispielsweise
find / -name \*.sql
Oder
find ~ \*.sql
(wobei ~ / home / your_username / entspricht) oder ...
find /usr/local/share/ \*.sql
und so weiter.
Führen Sie dies in der Befehlszeile aus:
cd / && find | grep '\.sql$'
Ändern Sie '/' in das Verzeichnis, in dem Sie suchen möchten.
Der findBefehl ist in der Lage, die Aufgabe ohne grep (unter Verwendung zusätzlicher Optionen) auszuführen, aber ich finde die obige Verwendung bequemer.
In der Reihenfolge der obigen Befehl:
cd /)find)| grep '\.sql$') enden.findhat bereits Filtermöglichkeiten
Ich weiß, dass dies ein alter Beitrag ist, aber ich bin ziemlich neu in diesem und ich habe einen einfachen Weg gefunden, um alle Dateien einer bestimmten Erweiterung in einem Verzeichnis und seinen untergeordneten Unterverzeichnissen zu finden. Nun, Sie navigieren zuerst zu " parent Directorythen" find . -name '*.sql'und dann finden Sie alle Dateien mit der Erweiterung " .sql" in den Verzeichnissen und deren Unterverzeichnissen.
In meinem Fall wollte ich alle .xml- Dateien im Verzeichnis und seinen Unterverzeichnissen löschen. Was ich also getan habe, ist, dass ich remove wie hier hinzugefügt habefind . -name '*.xml' | xargs rm
Hoffe das hilft jemandem :)
findversteht den -deleteBefehl. Keine Notwendigkeit zu involvieren rm. Oder Sie können den -execBefehl verwenden, um ihn direkt aufzurufen, ohne den Umweg über eine Pipe und xargs.
locate -br \\.sql$ | egrep '^/folder/path/'
Wenn es nicht installiert ist, installieren Sie es zuvor mit:
sudo apt install mlocate
mlocate.dbInstanz voraus, die in Ubuntu nicht standardmäßig eingerichtet ist (ich glaube). Warum auch nicht einfach locate '/folder/path/*.sql'?
locatehat eine andere Einstellung als Regex in verwendetegrep
locateEntspricht glob-Ausdrücken /folder/path/*.sql, nicht regulären Ausdrücken.
man locateich verstehe, -r, --regexp REGEXP - Search for a basic regexp REGEXPalso nahm ich an, dass es ein Regex war. Wie auch immer, ich habe Ihren "globalen Ausdruck" ausprobiert, aber es tut mir leid
--regexnicht angegeben, PATTERNkann s glühende Zeichen enthalten.“ ( Quelle )