Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 26/02/2020, à 17: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, à 17:30)

Hors ligne

#2 Le 26/02/2020, à 18: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, à 18: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)
cool


antiX 19 et 21 et Ubuntu 20.04 et 22.04
( sous LXDE et gnome-shell )

Hors ligne

#4 Le 27/02/2020, à 08: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, à 08: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, à 12: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, à 12: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 résolu, 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.

Hors ligne

#8 Le 27/02/2020, à 14: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, à 14:21

nany

Re : [Résolu] copie de fichiers listés dans une fichier

Bonjour,

steph96 a écrit :

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, à 14: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 big_smile) :

xargs -d'\n' cp -t 'répertoire-cible' < <(sed 's/\r//;s/\..*$/\U&/' fichier.txt)

Hors ligne

#11 Le 27/02/2020, à 14:42

nany

Re : [Résolu] copie de fichiers listés dans une fichier

kamaris a écrit :

Faisons la chasse aux antislashs (à répéter dix fois très très vite big_smile)

big_smile

Hors ligne

#12 Le 27/02/2020, à 14: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, à 17: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