#1 Le 26/02/2020, à 16:58
- steph96
[Résolu] copie de fichiers listés dans une fichier
bonjour,
j'ai un dossier contenant 100 fichiers quelconques
j'ai un fichier txt contenant une liste des noms de quelques uns des fichiers de ce dossier
je recherche comment faire une copie de mes fichiers listés du dossier d'origine ou j'ai tout en vrac
vers un autre dossier où il ne resterait que les fichiers choisis dans mon fichier txt
je pense qu'il dois bien exister une option de cp ou une autre commande pour faire cela ?
merci d'avance pour les idées
Stéphane
Dernière modification par steph96 (Le 27/02/2020, à 16:30)
Hors ligne
#2 Le 26/02/2020, à 17:14
- kamaris
Re : [Résolu] copie de fichiers listés dans une fichier
Tu peux faire
xargs -d'\n' cp -t 'répertoire-cible' < fichier.txt
Selon que fichier.txt contiendra seulement les noms, ou les chemins complets des fichiers source, il faudra exécuter cette commande depuis le répertoire où se trouvent les fichiers source, ou depuis n'importe où.
Hors ligne
#3 Le 26/02/2020, à 17:40
- Sciensous
Re : [Résolu] copie de fichiers listés dans une fichier
un conseil: s'il s'agit de faire du ménage sur la même partition (important), plutôt qu'une copie fait un lien brut (ln au lieu de cp): ça prend moins de place et tu peux en effacer un il en restera toujours un autre tant qu'il y a au moins un lien et enfin en modifier un c'est modifier l'autre aussi (car pointe sur le même fichier physique)
antiX 19 et 21 et Ubuntu 20.04 et 22.04
( sous LXDE et gnome-shell )
Hors ligne
#4 Le 27/02/2020, à 07:38
- steph96
Re : [Résolu] copie de fichiers listés dans une fichier
Merci,
la commande fonctionne parfaitement, sauf avec mon fichier
en fait c'est une mise à jour d'un firmware d'un matériel où se trouve les mise à jour de plusieurs matériels et il faut les bons fichiers pour chaque matériel
ma liste est faire sous windows avec des \r\n en fin de ligne,
j'ai bien essayé de les remplacer mais rien y fait
j'ai une erreur :
cp: impossible d'évaluer 'monfichier.pdf': Aucun fichier ou dossier de ce type
si je refait mon fichier conteneur a la main avec quelques fichiers ça copie bien !
c'est donc une erreur de mon conteneur mais le but était de ne pas le refaire a la main !
a ce propos, je n'ai pas trouvé comment afficher les caractères de fin de ligne ou spéciaux dans gedit ? cela peut servir !
merci je continue mes recherches ...
Hors ligne
#5 Le 27/02/2020, à 07:57
- steph96
Re : [Résolu] copie de fichiers listés dans une fichier
autre piste :
quand je fais un ls dans mon dossier
j'ai une partie de mes fichiers nommés directement et une autre partie nommée entre ' ' ?? cela veut dire quoi
en fait mon erreur est bien sur un fichier avec des 'monfichier.ext' et si je fais un ls il n'en a pas dans le dossier ...?
Hors ligne
#6 Le 27/02/2020, à 11:06
- kamaris
Re : [Résolu] copie de fichiers listés dans une fichier
Si fichier.txt a des fins de ligne en \r\n, tu peux faire
xargs -d'\n' cp -t 'répertoire-cible' < <(sed 's/\r//' fichier.txt)
Pour le reste, plutôt que des descriptions approximatives, donne des retours de commande précis et complets, du type
$ commande
retour de commande
$
jusqu'au retour du prompt inclus.
Pour voir le type de fins de ligne d'un fichier texte, tu peux utiliser la commande file.
Hors ligne
#7 Le 27/02/2020, à 11:33
- erresse
Re : [Résolu] copie de fichiers listés dans une fichier
Bonjour,
Les noms de fichiers qui sortent entre ' ' sont généralement ceux qui contiennent des espaces ou autres caractères réservés.
On aura ainsi : toto.txt ou Image.png, mais 'fichier texte.txt' dans la liste...
Plus de 50 ans d'informatique, ça en fait des lignes de commandes en console, mais on n'avait pas le choix...
Excellente raison pour, aujourd'hui qu'on le peut, utiliser au maximum les INTERFACES GRAPHIQUES !
Important : Une fois le problème solutionné, pensez à clore votre sujet en ajoutant [Résolu] devant le titre du 1er message, et un bref récapitulatif de la solution à la fin de celui-ci. Merci.
En ligne
#8 Le 27/02/2020, à 13:10
- steph96
Re : [Résolu] copie de fichiers listés dans une fichier
on s'approche,
génial le SED en plus ! quelle maîtrise !
je suis pas loin de ma solution, en fait dans mon fichier conteneur, j'ai mes extensions de fichiers en minuscule et mes vrais fichiers ont des extensions en majuscule,
c'est pour cela qu'il ne les retrouve pas et que j'ai l'erreur
il faudrait dire a SED de convertir la casse des caractères minuscule en majuscule
Hors ligne
#9 Le 27/02/2020, à 13:21
- nany
Re : [Résolu] copie de fichiers listés dans une fichier
Bonjour,
il faudrait dire a SED de convertir la casse des caractères minuscule en majuscule
xargs -d'\n' cp -t 'répertoire-cible' < <(sed 's/\r//;s/\(\..*$\)/\U\1/' fichier.txt)
Hors ligne
#10 Le 27/02/2020, à 13:34
- kamaris
Re : [Résolu] copie de fichiers listés dans une fichier
Faisons la chasse aux antislashs (à répéter dix fois très très vite ) :
xargs -d'\n' cp -t 'répertoire-cible' < <(sed 's/\r//;s/\..*$/\U&/' fichier.txt)
Hors ligne
#11 Le 27/02/2020, à 13:42
- nany
Re : [Résolu] copie de fichiers listés dans une fichier
Faisons la chasse aux antislashs (à répéter dix fois très très vite )
Hors ligne
#12 Le 27/02/2020, à 13:53
- moko138
Re : [Résolu] copie de fichiers listés dans une fichier
La chasse : avec un shetter ishlandais ?
%NOINDEX%
Un utilitaire précieux : ncdu
Photo, mini-tutoriel : À la découverte de dcraw
Hors ligne
#13 Le 27/02/2020, à 16:09
- steph96
Re : [Résolu] copie de fichiers listés dans une fichier
eh bien c'est super, tout fonctionne parfaitement
merci encore a tous !
Hors ligne