Fév 202014
On m’a demandé comment copier sans écraser la destination si elle existe.
l’environnement est restreint, pas de rsync et doit tenir dans une ligne.
pas le temps de tester si le fichier existe, ce doit être rapide.
la solution est facile:
# yes |sed 's/y/n/' | cp -i source destination
pour les tests :
┌(argon)─(✓)─(01:25 jeu. févr. 20)─(not a Git repository) └─(/tmp)─(6 files, 64Kb)─> echo 'toto' > toto ┌(argon)─(✓)─(01:25 jeu. févr. 20)─(not a Git repository) └─(/tmp)─(7 files, 68Kb)─> echo 'tata' > tata ┌(argon)─(✓)─(01:26 jeu. févr. 20)─(not a Git repository) └─(/tmp)─(8 files, 72Kb)─> yes |sed 's/y/n/' | cp -i toto tata cp : voulez-vous écraser « tata » ? ┌(argon)─(✓)─(01:26 jeu. févr. 20)─(not a Git repository) └─(/tmp)─(8 files, 72Kb)─> cat tata tata
ça fonctionne !