J'ai un fichier avec le nom :
this is my app.ipa
Je voudrais renommer ce fichier :
mv $(path)/this is my app.ipa $(path)/this_is_my_app.ipa
Cela ne semble pas correct... Merci d'avance.
J'ai un fichier avec le nom :
this is my app.ipa
Je voudrais renommer ce fichier :
mv $(path)/this is my app.ipa $(path)/this_is_my_app.ipa
Cela ne semble pas correct... Merci d'avance.
Alors que vous pourriez faire précéder chaque espace d'un \
il est préférable d'entourer le nom de fichier entier d'une paire de guillemets doubles ""
comme indiqué ci-dessous. Ici, je suppose que path
est une variable, qui peut également contenir des espaces.
mv "$path/this is my app.ipa" "$path/this_is_my_app.ipa"
Ou bien, vous pourriez aussi utiliser ce qui suit.
mv "$path"/this\ is\ my\ app.ipa "$path"/this_is_my_app.ipa
Si path
est exécutable avec sortie, alors vous avez raison d'utiliser $(path)
.
Autre réponses expliquer les différentes manières d'enquêter ou d'échapper aux espaces. Mais comme autre option, La complétion par tabulation est votre ami ici et à chaque fois que vous avez des noms de fichiers difficiles à taper, que ce soit en raison de caractères devant être échappés, de caractères accentués ou inhabituels, ou simplement de leur longueur.
Plus précisément, si vous commencez à taper la commande et le nom du fichier courant :
mv $(path)/thi
puis appuyez sur tab votre shell devrait automatiquement compléter le nom de fichier échappé :
mv $(path)/this\ is\ my\ app.ipa
après quoi vous pouvez continuer à taper la commande. (Si vous avez plusieurs fichiers dont les noms commencent de la même façon, la complétion par tabulation devrait compléter le nom jusqu'au premier caractère ambigu).
Cela dépend du shell.
La plupart sont entourés de guillemets - soit " ou ' - ils ont des effets différents dans l'expansion des variables d'environnement. Les shells POSIX ne développent pas ~ donc
mv "$(path)/this is my app.ipa" $(path)/this_is_my_app.ipa
Les shells POSIX permettent également l'échappement des caractères à l'aide de \\_.
mv $(path)/this\ is\ my\ app.ipa $(path)/this_is_my_app.ipa
De même, s'il n'y a qu'un seul fichier avec un nom similaire, utilisez des caractères de remplacement. par exemple
mv $(path)/this*.ipa $(path)/this_is_my_app.ipa
ou
mv $(path)/this?is?my?app.ipa $(path)/this_is_my_app.ipa
Voici une approche un peu différente qui peut vous être utile.
Le code suivant renommera le fichier "ceci est mon application.ipa", dans le répertoire de travail actuel, en "ceci_est_mon_app.ipa".
for f in ./"this is my app.ipa" ;do echo "$f" |mv "$f" "$(sed 's@ @_@g')" ;done
La version suivante renommera tous les fichiers, dans le répertoire de travail actuel, se terminant par ".ipa" qui contiennent également des espaces dans le nom... en remplaçant les espaces vides par des traits de soulignement.
for f in ./*.ipa ;do echo "$f" |mv "$f" "$(sed 's@ @_@g')" ;done
La version suivante renommera tous les fichiers, dans le répertoire de travail actuel, qui contiennent des espaces dans le nom... en remplaçant les espaces vides par des caractères de soulignement.
for f in ./* ;do echo "$f" |mv "$f" "$(sed 's@ @_@g')" ;done
LesApples est une communauté de Apple où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres utilisateurs d'appareils Apple, poser vos propres questions ou résoudre celles des autres.