Contenu | Rechercher | Menus

Annonce

Si vous rencontrez des soucis à rester connecté sur le forum (ou si vous avez perdu votre mot de passe) déconnectez-vous et reconnectez-vous depuis cette page, en cochant la case "Me connecter automatiquement lors de mes prochaines visites".
Test de l'ISO d'Ubuntu francophone : nous avons besoin de testeurs pour la version francophone d'Ubuntu 14.04. Liens et informations ici.

Attention, une faille de sécurité dans bash a récemment été rapportée, il est recommandé de mettre à jour son système (plus de détails)

#1 Le 16/11/2012, à 23:54

auburdav

Retour chariot dans un nom de dossier

Bonsoir à tous,

J'ai un petit problème en souhaitant utiliser un script permettant, sous linux, de restaurer des fichiers issus de Time Machine (OSX).
Voici la discussion et le script, pour ceux que cela peut intéresser : http://hints.macworld.com/article.php?s … 3213342356

Voici ma ligne de commande :
/home/david/Modèles/Reccup_Time_Machine/script.bash /media/david/Sauvegarde\ Time\ Machine/.HFS+\ Private\ Directory\ Data\  /home/david/TM /media/david/Sauvegarde\ Time\ Machine/Backups.backupdb/iMac\ de\ David/Latest/Davimac/Users/davimac/Pictures Images

J'ai dans le chemin vers mes sauvegardes un caractère retour chariot dans l'un des dossiers (je l'ai repéré grâce à l'encodage %0D dans Nautilus).
C'est le dossier ".HFS+ Private Directory Data" qui termine par ce retour chariot. D'ailleurs le nom du dossier est sur 2 lignes dans Nautilus smile
Ma question est la suivante : comment puis-je saisir ce caractère dans l'un des arguments du script ?
La complétion propose ^M mais cela ne fonctionne pas, et je souhaiterai éviter de renommer ce dossier pour qu'il soit toujours utilisable sous OSX.

Merci pour votre aide !

David

Hors ligne

#2 Le 17/11/2012, à 00:03

Postmortem

Re : Retour chariot dans un nom de dossier

Salut,
Peut-etre comme ça :

script.bash "fichier avec espaces et retour
a la ligne"

Edit : en entourant le nom du fichier avec des doubles-quotes, il ne faut plus laisser les \ avant les espaces
Re-edit :
Le retour chariot étant à la fin du nom, ça serait comme ça :

script.bash "fichier avec espaces et retour a la ligne
"

Dernière modification par Postmortem (Le 17/11/2012, à 00:24)


Trusty Tahr (64 bits), Athlon64 3800+, ATI Radeon HD4870

Mot' a dit : « Un Hellfest sans Slayer, c'est comme une galette-saucisse sans saucisse ! »

Hors ligne

#3 Le 17/11/2012, à 00:48

auburdav

Re : Retour chariot dans un nom de dossier

Merci Postmortem pour ta réponse.

Sur quelle touche as-tu appuyé pour avoir ton retour chariot ? Est-ce en fait un script qui en appelle un autre avec dans ce deuxième script un retour chariot fait simplement avec la touche "Enter" ?

Le créateur du script précise qu'il ne faut pas utliser les doubles quotes pour les chemins dans les arguments, mais la tab completion, qui d'aileurs ne fontionne pas chez moi...
C'est d'ailleurs peut-être une solution pour ne pas à avoir à saisir ce caractère...

Hors ligne

#4 Le 17/11/2012, à 01:03

Postmortem

Re : Retour chariot dans un nom de dossier

J'ai appuyé sur..... Entrée !
Vu que qu'on a ouvert les doubles-quotes, Entrée ne termine pas la commande et ne l'exécute pas, ça va seulement à la ligne. Et une fois à la ligne, tu fermes les doubles-quotes.
Une autre solution serait de remplacer :

/media/david/Sauvegarde\ Time\ Machine/.HFS+\ Private\ Directory\ Data\

par :

/media/david/Sauvegarde\ Time\ Machine/.HFS+\ Private\ Directory\ Data*

Edit :
Ou alors par ceci :

/media/david/Sauvegarde\ Time\ Machine/.HFS+\ Private\ Directory\ Data$'\r'

Dernière modification par Postmortem (Le 17/11/2012, à 01:23)


Trusty Tahr (64 bits), Athlon64 3800+, ATI Radeon HD4870

Mot' a dit : « Un Hellfest sans Slayer, c'est comme une galette-saucisse sans saucisse ! »

Hors ligne

#5 Le 21/11/2012, à 11:21

auburdav

Re : Retour chariot dans un nom de dossier

Bonjour,

Merci Postmortem pour ton message.
Après plusieurs tests avec ces commandes et d'autres trouvées sur internet, le script ne fonctionne toujours pas. L'appel se fait bien mais la récursivité n'aboutie pas, et cela sans message d'erreur.
J'ai donc dû connecter le disque sur un autre mac pour récupérer mes fichiers sauvegardés.
Quelle idée de mettre un retour chariot dans un nom de dossier smile Merci Apple !

Hors ligne

#6 Le 21/11/2012, à 12:32

pingouinux

Re : Retour chariot dans un nom de dossier

Bonjour,
Tu peux éventuellement faire un lien (avec un nom normal) sur le dossier qui contient le '\r', ce qui te permettra de l'appeler par l'un ou l'autre nom.

En ligne

#7 Le 21/11/2012, à 16:57

nesthib

Re : Retour chariot dans un nom de dossier

@Postmortem : appuyer sur entrée fera une nouvelle ligne (\n), pas un retour chariot (\r)

@auburdav : que te donne un :

for f in * ; do echo "$f".aaaaa ; done

le nom est il écrasé à la fin par le « aaaaa » ?


GUL Bordeaux : GirollServices libres : TdCT.org
Hide in your shell, scripts & astuces :  applications dans un tunnelsmart wgettrouver des pdfinstall. auto de paquetssauvegarde auto♥ awk
  ⃛ɹǝsn xnuᴉꞁ uʍop-ǝpᴉsdn

Hors ligne

#8 Le 22/11/2012, à 00:43

Postmortem

Re : Retour chariot dans un nom de dossier

nesthib a écrit :

@Postmortem : appuyer sur entrée fera une nouvelle ligne (\n), pas un retour chariot (\r)

@auburdav : que te donne un :

for f in * ; do echo "$f".aaaaa ; done

le nom est il écrasé à la fin par le « aaaaa » ?

Ouai, me suis emmêlé les pinceaux !
Petite question, le ^M, c'est équivalent au \r ?


Trusty Tahr (64 bits), Athlon64 3800+, ATI Radeon HD4870

Mot' a dit : « Un Hellfest sans Slayer, c'est comme une galette-saucisse sans saucisse ! »

Hors ligne

#9 Le 23/11/2012, à 18:08

aduxas

Re : Retour chariot dans un nom de dossier

Postmortem a écrit :

Petite question, le ^M, c'est équivalent au \r ?

Oui, c'est la même chose : char(13).

Hors ligne

#10 Le 23/11/2012, à 18:41

Postmortem

Re : Retour chariot dans un nom de dossier

Merki aduxas !


Trusty Tahr (64 bits), Athlon64 3800+, ATI Radeon HD4870

Mot' a dit : « Un Hellfest sans Slayer, c'est comme une galette-saucisse sans saucisse ! »

Hors ligne

Haut de page ↑