command-line – ¿Cuál es la diferencia entre find. y encontrar . -impresión

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 -print (pero probablemente debería considerar usar -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:

-print

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 -print . Consulte la sección NOMBRES DE ARCHIVO INUSUALES para obtener información sobre cómo se manejan los caracteres inusuales en los nombres de archivo.

Leave a Comment

Your email address will not be published. Required fields are marked *

web tasarım