GNU/Linux >> Tutoriales Linux >  >> Linux

¿Es posible canalizar los resultados de FIND a un CP de comando COPY?

Hay una opción poco utilizada para cp :-t destination -- ver la página man:

find . -iname "*.SomeExt" | xargs cp -t Directory

Puedes usar | como a continuación:

find . -iname "*.SomeExt" | while read line
do
  cp $line DestDir/
done

Respondiendo a sus preguntas:

  • | se puede utilizar para resolver este problema. Pero como se vio anteriormente, implica una gran cantidad de código. Además, | creará dos procesos:uno para find y otro para cp .

  • En lugar de usar exec() dentro de find resolverá el problema en un solo proceso.


¡Buena pregunta!

  1. ¿Por qué no puedes simplemente usar | ¿tubo? ¿No es para eso?

Puede canalizar, por supuesto, xargs se hace para estos casos:

find . -iname "*.SomeExt" | xargs cp Destination_Directory/
  1. ¿Por qué todos recomiendan el -exec?

El -exec es bueno porque proporciona más control de lo que está ejecutando exactamente. Siempre que canalice, puede haber problemas con las esquinas:nombres de archivo que contienen espacios o líneas nuevas, etc.

  1. ¿Cómo sé cuándo usar ese (ejecutivo) sobre tubería | ?

Realmente depende de ti y puede haber muchos casos. Usaría -exec siempre que la acción a realizar sea sencilla. No soy muy buen amigo de xargs , tiendo a preferir un enfoque en el que el find la salida se proporciona a un while bucle, como:

while IFS= read -r result
do
    # do things with "$result"
done < <(find ...)

Linux
  1. Encuentre el tiempo de ejecución de un comando o proceso en Linux

  2. Cómo auditar permisos con el comando de búsqueda

  3. Cómo usar el comando find de Linux para buscar archivos

  4. Una guía para el comando "Buscar" de Linux

  5. Imprima md5sum de resultados de un comando de búsqueda en Linux

Cómo encontrar archivos con el comando fd en Linux

Solucione el error que no puede encontrar el comando hwmatch en Grub

¿Encontrar la línea de comando?

15 ejemplos súper útiles del comando Buscar en Linux

Copie archivos de forma segura con el comando SCP

El comando find Directory de Linux:Explicación