find . -type f -print
imprimeCómo quitar el "./" principal en Unix "buscar"?
./file1
./file2
./file3
Cualquier manera de hacer que imprima
file1
file2
file3
?
find . -type f -print
imprimeCómo quitar el "./" principal en Unix "buscar"?
./file1
./file2
./file3
Cualquier manera de hacer que imprima
file1
file2
file3
?
Si son sólo en el directorio actual
find * -type f -print
es eso lo que quieres?
usar sed
find . | sed "s|^\./||"
Esta es mi solución preferida; es compatible con POSIX (funciona prácticamente en todas partes, incluso en sistemas integrados), es muy corto y es poco probable que genere un comportamiento inesperado. Esta debería ser la respuesta aceptada. –
¿Cómo se combinaría esto con 'find -exec'? – PaulrBear
'encontrar -exec sh -c" echo {} | sed 's |^\ ./ ||' "\;' o 'encontrar -exec sh -c" sed 's |^\ ./ | | ' <<< '{}' "\;' – xenithorb
puede ser más corto
find * -type f
Mejor con '2>/dev/null' para ignorar el error informado cuando el comando se ejecuta en un directorio vacío. – neevek
Buscar sólo los archivos regulares bajo el directorio actual, e imprimirlos sin "./" como prefijo:
find -type f -printf '%P\n'
De hombre encontrar, descripción del formato -printf:
% P Nombre del archivo con el nombre del argumento de línea de comando en el que se encontró eliminado.
+1 Buena solución si su versión de 'find' admite' -printf' (no todas). –
Como dijo Todd, pero más precisamente: no es POSIX 7. –
Compatible o no, es definitivamente más seguro que la respuesta aceptada. –
Sabía que se podía hacer con sed, pero esta es una solución mucho mejor. ¡Gracias! – breadjesus
bueno, nunca pensé en eso –
Esto perderá archivos con nombres que comienzan con un punto. – Sean