¿Cómo muevo todos los archivos de una carpeta a otra en terminal? -- find camp askubuntu Relacionados El problema

how do i move all files from one folder to another in terminal


-1
vote

problema

Español

He buscado varios foros con variaciones sobre la pregunta -

Estoy tratando de mover todos los archivos, incluidos aquellos en sub carpetas de una carpeta a otra, solo los archivos que no son las carpetas.

Este comando funciona para directorios

  find ~/Desktop/ -type f -print0 | xargs -0 mv -t ~/Videos   

Pero este comando que intenté para las carpetas no

  ABCDEFGHIJKLMNABCDEFGHIJKLMN5   
Original en ingles

I have searched various forums with variations on the question -

I am trying to move all files including those in sub folders from one folder to another - just the files not the folders.

This command works for directories

find ~/Desktop/ -type f -print0 | xargs -0 mv -t ~/Videos 

but this command I tried for folders does not

find ~/Desktop/Folder1/ -type f -print0 | xargs -0 mv -t ~/Videos/Folder2 
  
     
     

Lista de respuestas

0
 
vote

Pruebe esto

  ABCDEFGHIJKLMNABCDEFGHIJKLMN5   

Encontré la pregunta original aquí: https://stackoverflow.com/questions/19880246/move-only-files-recursivy-from-multiple-directories-into-one-directory-with-mv

Código de prueba en My CentOS Virtual Machine:

  mkdir -p dir mkdir -p dir/subdir1 mkdir -p dir/subdir2 mkdir -p dir/subdir3 mkdir -p dir1 touch dir/subdir1/file11 touch dir/subdir1/file12 touch dir/subdir1/file13 touch dir/subdir1/file14 touch dir/subdir2/file21 touch dir/subdir2/file22 touch dir/subdir2/file23 touch dir/subdir3/file31 touch dir/subdir3/file32 touch dir/subdir3/file33 touch dir/file1 touch dir/file2 touch dir/file3 find dir/ -type f -exec mv -nv -t dir1/ -- {} +   
 

Try this

find /path/to/photos -type f -exec mv -nv -t '/path/to/master' -- {} + 

found the original question here: https://stackoverflow.com/questions/19880246/move-only-files-recursively-from-multiple-directories-into-one-directory-with-mv

Test code on my CentOS virtual machine:

mkdir -p dir mkdir -p dir/subdir1 mkdir -p dir/subdir2 mkdir -p dir/subdir3 mkdir -p dir1 touch dir/subdir1/file11 touch dir/subdir1/file12 touch dir/subdir1/file13 touch dir/subdir1/file14 touch dir/subdir2/file21 touch dir/subdir2/file22 touch dir/subdir2/file23 touch dir/subdir3/file31 touch dir/subdir3/file32 touch dir/subdir3/file33 touch dir/file1 touch dir/file2 touch dir/file3 find dir/ -type f -exec mv -nv -t dir1/ -- {} + 
 
 
         
         
0
 
vote

Esto funciona:

  $ ll dir1 total 16 drwxrwxr-x  3 rick rick 4096 Oct  8 21:26 ./ drwxr-xr-x 60 rick rick 4096 Oct  8 21:30 ../ drwxrwxr-x  2 rick rick 4096 Oct  8 21:20 dir2/ -rw-rw-r--  1 rick rick    6 Oct  8 21:19 filea  $ mkdir dir3  $ find dir1/ -type f -print0 | xargs -0 mv -t dir3  $ ll dir3 total 16 drwxrwxr-x  2 rick rick 4096 Oct  8 21:31 ./ drwxr-xr-x 61 rick rick 4096 Oct  8 21:31 ../ -rw-rw-r--  1 rick rick    6 Oct  8 21:19 filea -rw-rw-r--  1 rick rick    6 Oct  8 21:20 fileb   

ABCDEFGHIJKLMNABCDEFGHIJKLMN8 Solía ​​estar en ABCDEFGHIJKLMNABCDEFGHIJKLMN9 PERO SE AHORA EN ABCDEFGHIJKLMNABCDEFGHIJKLMN10 Junto con los archivos de echo $PS11

Para guardar la escritura, puede colocar el comando en una función en su archivo echo $PS12 :

  echo $PS13  

Después de guardar echo $PS14 reabrir el terminal y ahora puede usar:

  echo $PS15  
 

This works:

$ ll dir1 total 16 drwxrwxr-x  3 rick rick 4096 Oct  8 21:26 ./ drwxr-xr-x 60 rick rick 4096 Oct  8 21:30 ../ drwxrwxr-x  2 rick rick 4096 Oct  8 21:20 dir2/ -rw-rw-r--  1 rick rick    6 Oct  8 21:19 filea  $ mkdir dir3  $ find dir1/ -type f -print0 | xargs -0 mv -t dir3  $ ll dir3 total 16 drwxrwxr-x  2 rick rick 4096 Oct  8 21:31 ./ drwxr-xr-x 61 rick rick 4096 Oct  8 21:31 ../ -rw-rw-r--  1 rick rick    6 Oct  8 21:19 filea -rw-rw-r--  1 rick rick    6 Oct  8 21:20 fileb 

fileb used to be in dir1/dir2 but is now merged into dir3 along with files from dir1

To save typing you can put the command into a function in your ~/.bashrc file:

function adopt () {     find "$1"/ -type f -print0 | xargs -0 mv -t "$2" } 

After saving ~/.bashrc reopen the terminal and you can now use:

cd ~ adopt Desktop/dir1 Videos/dir2 
 
 
       
       

Relacionados problema

32  ¿Cómo encontrar archivos entre dos fechas usando "Buscar"?  ( How to find files between two dates using find ) 
Tengo una cuenta de correo electrónico que ha pasado 60 GB de correos electrónicos, y actualmente estoy teniendo muchos problemas para usar un cliente de corr...

1  Creación de un directorio de archivos creados recientemente  ( Creating a directory of recently created files ) 
En un sistema que tengo, los archivos se cargan a través de una serie de varios mecanismos en un directorio central "entrante". Una vez al día, esos archivos ...

34  encontrar vs. localizar  ( Find vs locate ) 
Hay los comandos find y abcdefhijklmnabcdefghijklmn1 Para buscar archivos en el disco. Sé que ABCDEFGHIJKLMNABCDEFGHIJKLMN2 procesa recursivamente tod...

1  Bash: archivo no encontrado  ( Bash file not found ) 
Todo está en la captura de pantalla a continuación ...

44  Encuentra el último archivo por fecha modificada  ( Find the latest file by modified date ) 
Si quiero encontrar el último archivo (METIMENTO) en un directorio (grande) que contiene subdirectorios, ¿cómo lo haría? Muchos puestos que he encontrado ...

1  Utilicé el comando Buscar sin especificar un directorio  ( I used the find command without specifying a directory ) 
Usé este comando sin especificar un directorio: ABCDEFGHIJKLMNABCDEFGHIJKLMN5 ¿Qué podría haber ocurrido? Estaba en la carpeta / var / www / html. ¿Camb...

1  Obtener la utilización del disco por tipo de archivo?  ( Get disk utilization by file type ) 
¿Hay una manera de obtener una ruptura de una utilización de un disco (o directorio) según el tipo de archivo desde la línea de comandos? Supongo que podría...

2  ¿Puede ser mayor de un directorio ser mayor que el del archivo dentro?  ( Can a directorys mtime be older than that of file inside ) 
Tengo esta pregunta muy tonta y muy básica, pero pensé que es mejor preguntar antes de comenzar a podar mi NAS. Quiero eliminar todos los directorios en los...

12  ¿Cómo puedo encontrar todos los archivos de video en mi sistema?  ( How can i find all video files on my system ) 
Intenté usar la búsqueda de archivos de Lens de Unity para *.* y filtrado por las últimas modificadas = todos, escriban = videos, y tamaño = todos menos que...

9  Solicitar líneas de 'Acceso denegado "  ( Taking out access denied lines ) 
Cuando utilizo find para ver todos los archivos PDF en el directorio /home , estoy viendo access denied . Para eliminarlos, lo intenté: find /home -ina...




© 2022 respuesta.top Reservados todos los derechos. Centro de preguntas y respuestas reservados todos los derechos