GNU/Linux >> Tutoriales Linux >  >> Linux

¿Archivos específicos de Linux (mv o cp) de una lista de archivos de texto?

Solución 1:

Para evitar un uso inútil de cat (y si no usa rsync ):

xargs -a file_list.txt mv -t /path/to/dest

Esto manejará cualquier nombre de archivo válido, a menos que contenga una nueva línea, si los archivos se enumeran uno por línea.

Solución 2:

rsync tiene varias opciones que pueden tomar una lista de archivos para procesar (--files-from , --include-from , etc.).

Por ejemplo, esto hará el truco:

rsync -a /source/directory --files-from=/full/path/to/listfile /destination/directory

Solución 3:

for file in `cat listoffiles`; do mv "$file" /path/of/destination ; done

asumiendo bash, más listoffiles que contiene un archivo por línea. Mi única objeción a la ruta rsync es que el OP solicita un método para mover los archivos, no para copiarlos. rsync tiene más banderas que una boda real, por lo que estoy seguro de que se puede modificar aún más para hacer eso, ¡pero a veces lo más simple es mejor!

Solución 4:

rsync --files-from=file_list.txt /path/to/source/ /path/to/dest/

Rsync tiene el beneficio adicional sobre el cp o mv comandos porque creará carpetas automáticamente si no existen.

Solución 5:

Esto depende del formato del archivo de texto que tenga. Por ejemplo, si tiene la lista de archivos escrita de tal manera que Cada archivo se encuentra en una nueva línea. Puedes usar xargs como:

$ cat your_text_file | xargs cp -t /path/to/destination

Además, puedes usar find comando con -exec opción. para copiar/mover los archivos.


Linux
  1. Acelere rsync al migrar un servidor Linux desde la línea de comandos

  2. Comando ls de Linux - Lista de archivos

  3. Cómo distinguir binarios de archivos de texto en Linux

  4. ¿Cómo encuentro todos los archivos que contienen texto específico en Linux?

  5. Excluir la lista de archivos de la búsqueda

Comando Grep en Linux (Buscar texto en archivos)

Ejemplos de Rsync para transferir archivos en Linux

Cómo encontrar archivos que contengan una cadena de texto específica en Linux

Encuentra texto en archivos en Linux usando grep

Linux equivalente a robocopy?

¿Cómo usar rsync desde una PC con Windows a un servidor Linux remoto?