Commande "cp" sélective.

Résolu
Klas -  
 Klas -
Bonjour,
Dans le cadre d'un exercice d'initiation à Linux, je dispose dans un répertoire d'un ensemble de fichiers et de sous répertoires, je voudrais copier les fichiers , et seulement les fichiers, dans un autre emplacement. Je ne vois que la commande cp pour faire ce travail, cependant, son manuel n'indique pas une option concernant le choix du type de l'argument (fichier ou répertoire) . Quel commande devrais-je donc utiliser sachant que le nombre de fichiers à déplacer est très grand.

je vous remercie d'avance.

Cordialement , Klas.
A voir également:

4 réponses

jipicy Messages postés 40842 Date d'inscription   Statut Modérateur Dernière intervention   4 896
 
Re-

find /chemin -type f -exec cp {} /destination \;

;-))
2
Klas
 
merci beaucoup jipicy, ;)))

j'ai une autre petite question si vous permettez ,
plus généralement , si on veut inverser la sélection, genre "copier uniquement les fichiers qui ne commence pas par la lettre "c" ou qui n'ont pas l'extension, etc...) que doit-t-on modifier dans la ligne de commande suivante (je la prends juste pour exemple) ?



$ find . -name "c*" -exec cp {} /destination \;


merci.

Cordialement Klas.
0
jipicy Messages postés 40842 Date d'inscription   Statut Modérateur Dernière intervention   4 896 > Klas
 
Il suffit d'utiliser la négation ( ! ) devant le paramètre "-name" :

find . ! -name "c*" -exec cp {} /destination \; 
0
jipicy Messages postés 40842 Date d'inscription   Statut Modérateur Dernière intervention   4 896
 
Salut,

Avec l'affichage des options longues "ls -l", tu peux voir le type de fichier... (man ls)

Sinon, avec la commande "find" c'est encre plus simple... (man find)
0
Klas
 
Salut jipicy,

merci de me répondre, on utilise les commandes ls et find pour l'affichage (- pour fichier et d pour répertoire) et la recherche, et moi je voudrais aussi copier. que faire alors ??

Klas.
0
Klas
 
merci infiniment jipicy !

;)
0