Suchen Sie nach ausführbaren Dateinamen ohne Pfad


9

Ich habe einen Ordner mit vielen ausführbaren Dateien und möchte den Pfad in den Ergebnissen des Befehls find weglassen. Dieser Befehl zeigt die Dateien an, die ich sehen möchte, listet aber auch den Pfad auf. Ich möchte nur den Dateinamen.

find /opt/g09 -maxdepth 1 -executable

Wie kann ich die Ausgabe von find so einstellen, dass nur die Dateinamen und nicht der vollständige Pfad angezeigt werden?

Antworten:


10

Oder verwenden Sie:

find /opt/g09 -maxdepth 1 -executable -printf "%f\n"

Das Hinzufügen der -type fFlagge funktioniert auch hier.

Aus dem findHandbuch:

 %f     File's name with any leading directories removed (only the last element).

Diese Antwort erfordert nur, dass Sie über GNU verfügen, findwährend andere andere Programme benötigen, um Ihre Ergebnisse zu manipulieren.


-Typ f Daran habe ich gedacht! Vielen Dank, dass Sie Mann codieren!
j0h

@ j0h kein Problem!
Nixpower

6

Verwendung basename:

find /opt/g09 -maxdepth 1 -executable -exec basename {} \;

Von man basename:

Print NAME with any leading directory components removed.

Auch versuchen Sie findalles, um Ihre Suche auf nur Dateien zu beschränken, verwenden Sie:

find /opt/g09 -type f -maxdepth 1 -executable -exec basename {} \;

3

Die naheliegendste Lösung für mich ist

(cd /opt/g09; find -maxdepth 1 -executable)

Da Sie eine Subshell starten, bleiben Sie im selben Verzeichnis. Vorteil dieser Methode ist, dass Sie keine Analyse benötigen. Nachteil ist, dass Sie eine Subshell starten (das werden Sie aber nicht spüren).


1
Es ist eine kluge Idee.
AB

1

Mit awkdem Pfad durch den Begrenzer Aufspalten /, drucken Sie den letzten Abschnitt ( $NF):

find /opt/g09 -maxdepth 1 -executable | awk -F/ '{print $NF}'

Wo ist deine Python-Version, Bruder? ;)
Sergiy Kolodyazhnyy

@ Serg haha, ich musste meine Finger binden :)
Jacob Vlijm

1

Mit einer Kombination aus findundperl

find /opt/g09 -maxdepth 1 -type f -executable | perl -pe 's/.+\/(.*)$/\1/'

Tolle Möglichkeit, etwas Perl zu lernen: P
nixpower
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.