Entiende el código bien previamente a aplicarlo a tu proyecto y si tdeseas aportar algo puedes decirlo en los comentarios.
Solución:
Para la pregunta indicada puedes usar find
:
find . -mindepth 1 ! -type l
enumerará todos los archivos y directorios en el directorio actual o cualquier subdirectorio que no sea un enlace simbólico.
mindepth 1
es solo para saltarse el .
entrada del directorio actual. La carne es la combinación de -type l
que significa “es un enlace simbólico”, y !
, lo que significa negar la siguiente prueba. En combinación, coinciden con todos los archivos que no son un enlace simbólico. Esto enumera todos los archivos y directorios de forma recursiva, pero no los enlaces simbólicos.
Si solo desea archivos normales (y no directorios):
find . -type f
Para incluir solo los elementos secundarios directos de este directorio, y no todos los demás de forma recursiva:
find . -mindepth 1 -maxdepth 1
Puede combinar esas (y otras) pruebas para obtener la lista de archivos que desea.
Para ejecutar un determinado grep
en cada archivo que coincida con las pruebas que está usando, use -exec
:
find . -type f -exec grep -H 'some pattern' '' +
El ''
será reemplazado con los archivos. El +
es necesario decir find
tu comando está hecho. La opción -H
obliga a grep a mostrar un nombre de archivo incluso si se ejecuta con un solo archivo coincidente.
O, más simple:
ls -l | grep -v ^l
Explicación
ls -l
significa listar en forma larga. Cuando haces esto, lo primero string de caracteres da información sobre cada archivo. El primer carácter indica de qué tipo es cada archivo. Si es un enlace simbólico, entonces un l
es el primer personaje.
grep -v ^l
significa filtrar (-v
) las líneas que comienzan con (^
) un l
.
Desde la versión 2.12 en adelante, el -r
La opción para GNU grep no elimina la referencia a los enlaces simbólicos a menos que los especifique a mano:
-r, –recursivo
Leer todos los archivos de cada directorio, recursivamente, siguiendo enlaces simbólicos solo si están en la línea de comando. Esto es equivalente a la opción recursiva -d.
-R, –desreferencia-recursiva
Lea todos los archivos en cada directorio, recursivamente. Siga todos los enlaces simbólicos, a diferencia de -r.
valoraciones y reseñas
Recuerda que puedes permitirte parafrasear tu experiencia si hallaste tu rompecabezas en el momento justo.