Pregunta:
Cuál es la diferencia entre:
find .
y
find . -print
¿Qué hace realmente -print
?
$ find .
.
./hello.txt
./hello
./hello/txt
./hello/hello2
./hello/hello2/hello3
./hello/hello2/hello3/txt
./hello/hello2/txt
$ find . -print
.
./hello.txt
./hello
./hello/txt
./hello/hello2
./hello/hello2/hello3
./hello/hello2/hello3/txt
./hello/hello2/txt
Respuesta:
De los findutils
find
página de manual :
Si no se proporciona una expresión, se usa la expresión
-print0
en-print0
lugar, de todos modos).
( -print
es una expresión de find
).
La documentación POSIX lo confirma:
Si no hay ninguna expresión presente, se utilizará -print como expresión.
Así que find .
es exactamente equivalente a find . -print
; el primero no tiene expresión, por lo que -print
se agrega internamente.
La explicación de lo que hace -print
viene más abajo en la página de manual:
Cierto; imprima el nombre completo del archivo en la salida estándar, seguido de una nueva línea. Si está canalizando la salida de find a otro programa y existe la mínima posibilidad de que los archivos que está buscando contengan una nueva línea, entonces debería considerar seriamente usar la opción
-print0
lugar de