GNU/Linux >> Tutoriels Linux >  >> Linux

Fichiers spécifiques à Linux (mv ou cp) à partir d'une liste de fichiers texte ?

Solution 1 :

Afin d'éviter une utilisation inutile de cat (et si vous n'utilisez pas rsync ):

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

Cela gérera tout nom de fichier valide, à moins qu'il ne contienne une nouvelle ligne, si les fichiers sont répertoriés un par ligne.

Solution 2 :

rsync a plusieurs options qui peuvent prendre une liste de fichiers à traiter (--files-from , --include-from , etc.).

Par exemple, ceci fera l'affaire :

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

Solution 3 :

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

en supposant bash, plus listoffiles contenant un fichier par ligne. Ma seule objection à la route rsync est que l'OP demande une méthode pour déplacer les fichiers, pas pour les copier. rsync a plus de drapeaux qu'un mariage royal, donc je suis sûr qu'il peut être encore modifié pour faire ça, mais parfois plus simple c'est mieux !

Solution 4 :

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

Rsync a l'avantage supplémentaire par rapport au cp ou mv car il créera automatiquement des dossiers s'ils n'existent pas.

Solution 5 :

Cela dépend du format du fichier texte que vous avez. Par exemple, si vous avez la liste des fichiers écrite de telle sorte que chaque fichier se trouve sur une nouvelle ligne. Vous pouvez utiliser des xargs comme :

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

Vous pouvez également utiliser find commande avec -exec option. pour copier/déplacer les fichiers.


Linux
  1. Comment répertorier les fichiers installés à partir d'un package RPM ou DEB sous Linux

  2. Exemples pratiques de la commande rsync sous Linux

  3. Accélérez rsync lors de la migration d'un serveur Linux à partir de la ligne de commande

  4. Comment puis-je trouver tous les fichiers contenant du texte spécifique sous Linux ?

  5. Exclure la liste des fichiers de la recherche

Commande Grep sous Linux (Rechercher du texte dans des fichiers)

Exemples Rsync pour transférer des fichiers sous Linux

Comment exclure des répertoires spécifiques de la copie sous Linux

Comment trouver des fichiers contenant une chaîne de texte spécifique sous Linux

Rechercher du texte dans des fichiers sous Linux à l'aide de grep

Comment convertir un texte spécifique d'une liste en majuscule ?