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 23/12/2007, à 02:39

herberts

[RESOLU] problème de commande pour débutant

Bonsoir à  tous. Je ne suis pas certain d'être dans la bonne section du forum, mais dans le doute...

Il s'agit sans doute d'un problème facile à  résoudre, mais je connais pas la commande pour faire ce que je veux, et n'ai pas trouvé la solution sur le forum :

Je voudrais copier tous les fichiers contenus dans un dossier et ses sous-dossiers vers un seul dossier, mais sans reproduire l'arborescence, que tous les fichiers copiés soit à  la racine du nouveau dossier.

J'ai essayé un

cp -R dossier_source/* /dossier_cible

mais là  il me recopie l'arborescence

et avec

cp -R dossier_source/*.* /dossier_cible

mais là  le terminal me retourne

cp: ne peut évaluer `dossier_source/*.*': Aucun fichier ou répertoire de ce type

Le plus rageant, c'est que j'avais réussi à  le faire il y a quelques temps, mais impossible de retrouver comment. Si vous avez une idée...

Dernière modification par herberts (Le 23/12/2007, à 03:38)

Hors ligne

#2 Le 23/12/2007, à 02:57

best_friend_fr

Re : [RESOLU] problème de commande pour débutant

Salut,

essaye un truc du genre

#!/bin/bash

dossier=$1

for contenu in $dossier/*;
do
if [ -d $contenu ];
then
$0 $contenu $2;
fi;
if [ -f $contenu ];
then
cp $contenu $2/
fi;
done;

ca s'appelle par
./script src dest


sudo apt-get replace langage_sms by grammaire orthographe ponctuation
La documentation est avant tout faite pour ceux qui posent les questions, et non ceux qui y répondent
Best_friend_fr

Hors ligne

#3 Le 23/12/2007, à 03:11

pascal50

Re : [RESOLU] problème de commande pour débutant

Je viens d'essayer ça, ça a l'air de marcher

find rep_source -type f -exec cp '{}' rep_cible/. \;

herberts a écrit :

Le plus rageant, c'est que j'avais réussi à  le faire il y a quelques temps, mais impossible de retrouver comment.

Avec la commande cp seule ?

Hors ligne

#4 Le 23/12/2007, à 03:30

herberts

Re : [RESOLU] problème de commande pour débutant

Best_friend, ton script fais ce que je voulais donc déjà  merci, même s'il ne prends pas les fichiers avec un espace dans le nom (ce qui est malheureusement le cas de la plupart sad)

Pascal_50, Je vais essayer de suite ta solution

Et il me semble que c'était avec la commande cp oui, avec quelques options derrière, mais je n'ai jamais touché au scripts pour l'instant. Il va falloir que je m'y mette d'ailleurs, c'est quand même un outil puissant

Et encore merci smile

Dernière modification par herberts (Le 23/12/2007, à 04:03)

Hors ligne

#5 Le 23/12/2007, à 03:37

herberts

Re : [RESOLU] problème de commande pour débutant

Bon, la commande que tu donnes

find rep_source -type f -exec cp '{}' rep_cible/. \;

marche nickel

Merci beaucoup

Et si tu as encore deux minutes a m'accorder, pour ma "culture perso", dans cette commande, à  quoi sert la fin

/. \;

Dernière modification par herberts (Le 23/12/2007, à 03:38)

Hors ligne

#6 Le 23/12/2007, à 03:51

best_friend_fr

Re : [RESOLU] problème de commande pour débutant

Pour les fichier avec des espaces, il faut metre des "" autour des $contenu.


sudo apt-get replace langage_sms by grammaire orthographe ponctuation
La documentation est avant tout faite pour ceux qui posent les questions, et non ceux qui y répondent
Best_friend_fr

Hors ligne

#7 Le 23/12/2007, à 03:53

pascal50

Re : [RESOLU] problème de commande pour débutant

Pour le "/.", je suis sur de rien. tu peux essayer sans.
Pour le "\;" il fait partie de la syntaxe de l'option -exec du find (man find).

Si tu as installé un serveur apache, il doit y avoir un paquet man2html pour consulter les pages de manuel dans le navigateur (c'est plus sympa à  lire).

Hors ligne

#8 Le 23/12/2007, à 04:04

herberts

Re : [RESOLU] problème de commande pour débutant

Merci à  vous deux

Hors ligne