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

Ausführbare Dateien mit ls und grep finden

Wenn Sie unbedingt ls und grep verwenden müssen, funktioniert dies:

ls -Fla | grep '^\S*x\S*'

Es findet Zeilen, in denen das erste Wort (kein Leerzeichen) mindestens ein 'x' enthält.

Find ist dafür das perfekte Tool. Dies findet alle Dateien (-Typ f), die ausführbar sind:

find . -type f -executable

Wenn Sie nicht möchten, dass alle ausführbaren Dateien rekursiv aufgelistet werden, verwenden Sie maxdepth:

find . -maxdepth 1 -type f -executable

Müssen Sie ls verwenden? Sie können find verwenden, um dasselbe zu tun:

find . -maxdepth 1 -perm -111 -type f

gibt alle ausführbaren Dateien im aktuellen Verzeichnis zurück. Entfernen Sie das Flag -maxdepth, um alle untergeordneten Verzeichnisse zu durchlaufen.

Sie könnten diese Schrecklichkeit ausprobieren, aber es könnte Dateien finden, die Zeichenfolgen enthalten, die wie Berechtigungen aussehen.

ls -lsa | grep -E "[d\-](([rw\-]{2})x){1,3}"

Vielleicht mit test -x?

for f in $(\ls) ; do test -x $f && echo $f ; done

Das \ auf ls wird Shell-Aliase umgehen.


for i in `ls -l | awk '{ if ( $1 ~ /x/ ) {print $NF}}'`; do echo `pwd`/$i; done

Dies gibt absolute Pfade zu den ausführbaren Dateien.


Linux
  1. Wie benenne ich mehrere Dateien mit Find um?

  2. Verwenden Sie grep, um Inhalte in Dateien zu finden und sie zu verschieben, wenn sie übereinstimmen

  3. Verwenden von grep und sed zum Suchen und Ersetzen einer Zeichenfolge

  4. Menschenlesbare Dateien unter Unix finden

  5. Entfernen von Dateien mit rm unter Verwendung von find und xargs

So finden Sie eine bestimmte Zeichenfolge oder ein bestimmtes Wort in Dateien und Verzeichnissen

Find-Befehl in Linux (Dateien und Verzeichnisse suchen)

Grep-Befehl in Linux (Text in Dateien suchen)

Finden Sie Dateien und Verzeichnisse unter Linux ganz einfach

Finden Sie Text in Dateien unter Linux mit grep

tcpdump – Rotieren Sie Capture-Dateien mit -G, -W und -C