Forum Programmation.shell copier a l'identique un repertoire dont le nom possède un espace

Posté par  .
Étiquettes : aucune
0
29
jan.
2006
Bonjour,
Je fais un script qui doit copier un répertoire. Mais avant de le copier je vérifie si le répertoire existe au non à la destination.
Mon problème est que certains de ces répertoires ont des espaces dans leur noms. Si quelqu'un a une idée.
Voici à quoi ressemble mon script pour le moment


path_source="/.../docs/"
path_dest="/.../docscopie/"

cd $path_source
find -type d | sed s/./""/ | sed /^$/d > $path_dest/temprep.txt
cd $path_dest
cat < temprep.txt | while true
do
read rep
if [ "$rep" = "" ];
then break; fi
if [ ! -e "$rep" ];
then mkdir $rep;fi
done

rm -f temprep.txt
  • # bon alors

    Posté par  (site web personnel) . Évalué à 2.

    cd "$path_source"; find -type d -exec mkdir -p "$path_dest/{}" \;

    Mais c'est quoi le but ?
    • [^] # Re: bon alors

      Posté par  . Évalué à 1.

      C'est pour mettre a jour mon serveur web qui sert au download de map Counter Strike. J'ai 4 dossiers à copier et ensuite je dois bzipper les fichiers un à un. Mais pour éviter d'avoir à compresser 400 Mo à chaque fois. Je préfère copier et compresser les nouveaux fichiers.
      • [^] # encore plus simple

        Posté par  (site web personnel, Mastodon) . Évalué à 3.

        tu dois aussi pouvoir faire ca avec un rsync non ?
        • [^] # Re: encore plus simple

          Posté par  . Évalué à 1.

          rsync, je l’avais oublié lui…. Il me reste plus qu’a voir pour bzipper les fichiers copiés. Merci
          • [^] # Re: encore plus simple

            Posté par  . Évalué à 2.

            Avec l'option -z rsync compresse les données transmises.
            En résumé, rsync minimise le volume à transférer en n'échangeant que les données modifiées et en plus les compresse pendant le transfert.
            Que demander de plus ;) ?

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.