En utilisant un script shell ou le Terminal, comment puis-je écraser des fichiers qui peuvent être présents ou non. J'ai consulté la page de manuel de cp, il disait d'utiliser l'argument -f pour forcer l'écrasement. Mais ça ne fait rien.
$ cp -f /chemin/vers/le/fichier/source.txt /chemin/vers/la/cible
Ou y a-t-il une autre option pour écraser des fichiers en utilisant les outils en ligne de commande courants dans OS X ?
3 votes
Cela fonctionne pour moi. Qu'est-ce qu'il fait au lieu de l'écraser lorsque vous essayez ?
2 votes
Si vous n'avez pas la permission d'écraser le fichier cible, cela échouera. Si vous voulez vraiment écraser un fichier cible, vous pouvez utiliser
sudo
au début de la commande. Mais utilisez avec prudence!0 votes
@Gordon Davisson : Que fait-il ? Rien. Il ne fera que copier les fichiers dans le répertoire cible si je les
déplace
ousupprime
.0 votes
@Daniel Lawson: Sans utiliser
sudo
, je peux utilisermv
ourm
pour déplacer ou supprimer des fichiers avant d'utilisercp
. Utilisersudo cp
ne change rien.0 votes
Curieux et encore plus curieux.
0 votes
Est-ce que
set +o noclobber
résout votre problème ?0 votes
Pour la postérité, utilisez
\cp
pour vous assurer d'utilisercp
non aliasé.