Tengo que encontrar algún tipo de archivo en un directorio y sus subdirectorios y solo tengo que imprimir los nombres de archivo. Así que aquí está el comando principal:
find -type f -name "*.c"
Ahora, ¿cómo podría cortar los caminos de cada resultado? (posiblemente podría hacerse con awk, pero espero que haya una manera más fácil de hacerlo).
Usar
awk
no es tan complicado:O
sed
:(suponiendo que los nombres de archivo no contengan caracteres de nueva línea) y eso funcionará con cualquier
find
implementación.fuente
Puede usar el
basename
programa para obtener el nombre del archivo:Esto funciona en
find
s que no tienen la-printf
extensión GNU .fuente
GNU find lo sabe
-printf
. Si también busca subdirectorios, ¡los nombres de archivo pueden aparecer varias veces (en general)!Necesitas
-printf "%p\n"
o-printf "%f\n"
.fuente