GNU/Linux >> LINUX-Kenntnisse >  >> Ubuntu

Alle Python-Dateien im Linux-Dateisystem finden?

Für diese Frage gibt es hier bereits Antworten :So finden Sie alle Dateien mit derselben Erweiterung innerhalb eines Verzeichnisses

(5 Antworten)
Vor 4 Jahren geschlossen.

Wie kann ich mein gesamtes Linux-Dateisystem nach allen Python-Dateien durchsuchen (Dateien mit der Erweiterung .py )? Ich weiß, dass ich find -name filename kann aber wie kann ich das für den Dateityp machen?

Akzeptierte Antwort:

Nicht alle Python-Dateien haben die Dateierweiterung .py – Versuchen Sie, grep -rni python /usr/bin auszuführen zum Beispiel). Die meisten dieser Skripte haben eine „shebang“- (oder hashbang-) Zeile (z. B. #!/usr/bin/env python). , #!/usr/bin/python2.7 ). Dies informiert den Interpreter des Skripts, welches Programm verwendet werden muss, um es auszuführen, und Sie können danach suchen, um Python-Dateien zu finden

Sie können jedoch auch den Mimetyp der Datei verwenden (normalerweise in Anlehnung an text/x-python ), um es zu finden:

find / -type f | while read in ; do if file -i "${in}" | grep -q x-python ; then echo "${in}" ; fi ; done

Wobei / ist Ihr vorgesehenes Suchverzeichnis.

Mit find Sie könnten auch die -executable hinzufügen Option, nur nach ausführbaren Dateien zu suchen. Auch die Verwendung von -type f beschränken Sie die Suche darauf, nur nach Dateien zu suchen – Sie könnten dies ändern und dann auch symbolische Links usw. anzeigen (einige Skripte sind in /usr/lib enthalten etc und mit /usr/bin/ symbolisiert usw.) . Viele weitere Optionen sind verfügbar, Sie können diese sehen, indem Sie man find ausführen .

file sollte in der Lage sein, den Dateityp zu erraten, auch wenn die Datei keine Erweiterung usw. hat (unter Verwendung der Shebang-Zeile usw.) – siehe hier.

Zum Entfernen von find: ‘/.../FILE’: Permission denied etc, können Sie das Skript als root ausführen (mit sudo bash -c "COMMAND" , Öffnen einer Shell mit sudo su usw.) und/oder einfach 2>/dev/null anhängen zum Suchbefehl.


Ubuntu
  1. Finden Sie Dateien und Verzeichnisse unter Linux mit dem Befehl find

  2. Linux-Suchbefehle

  3. So finden Sie alle Sparse-Dateien in Linux

  4. Wie kann ich alle Dateien bearbeiten, die von find in vi in ​​Linux zurückgegeben werden?

  5. Wie listet man alle Dateien einer Partition unter Linux auf?

Finden Sie große Dateien in Linux

Finden Sie Linux-Systemdetails mit Python

So entpacken Sie die gz-Dateien unter Linux

3 Möglichkeiten, Dateien und Verzeichnisse in Linux zu finden

So finden Sie Dateien basierend auf dem Zeitstempel in Linux

So finden Sie Dateien, die in den letzten 24 Stunden in Linux geändert wurden