GNU/Linux >> Tutoriales Linux >  >> Linux

Encontrar archivos ejecutables usando ls y grep

Si absolutamente debe usar ls y grep, esto funciona:

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

Coincide con líneas donde la primera palabra (sin espacios en blanco) contiene al menos una 'x'.

Find es la herramienta perfecta para esto. Esto encuentra todos los archivos (-tipo f) que son ejecutables:

find . -type f -executable

Si no desea que enumere recursivamente todos los ejecutables, use max depth:

find . -maxdepth 1 -type f -executable

¿Necesitas usar ls? Puedes usar find para hacer lo mismo:

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

devolverá todos los archivos ejecutables en el directorio actual. Elimina el indicador -max depth para recorrer todos los directorios secundarios.

Podría probar esta terrible idea, pero podría coincidir con archivos que contienen cadenas que parecen permisos.

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

¿Quizás con prueba -x?

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

El \ on ls omitirá los alias de shell.


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

Esto proporciona rutas absolutas a los ejecutables.


Linux
  1. ¿Cómo cambiar el nombre de varios archivos usando Buscar?

  2. ¿Encontrar el último elemento en una línea usando Grep?

  3. Use grep para encontrar contenido en archivos y moverlos si coinciden

  4. Usando grep y sed para encontrar y reemplazar una cadena

  5. busque y elimine archivos con espacio usando el comando de búsqueda en Linux

Cómo encontrar una cadena o palabra específica en archivos y directorios

Buscar comando en Linux (Buscar archivos y directorios)

Comando Grep en Linux (Buscar texto en archivos)

Uso de sed para buscar y reemplazar archivos de texto en Linux

Encuentre archivos y directorios en Linux fácilmente

Encuentra texto en archivos en Linux usando grep