131 votes

Unix - créer le chemin des dossiers et des fichiers

Je sais que tu peux le faire mkdir pour créer un répertoire et touch pour créer un fichier, mais n'y a-t-il pas moyen de faire les deux opérations en une seule fois ?

Par exemple, si je veux faire ce qui suit lorsque le dossier other n'existe pas :

cp /my/long/path/here/thing.txt /my/other/path/here/cpedthing.txt

Erreur :

cp: cannot create regular file `/my/other/path/here/cpedthing.txt': No such file or directory

Quelqu'un a-t-il trouvé une fonction pour contourner ce problème ?

-4voto

stranger Points 1

Si vous souhaitez une solution simple avec un seul paramètre :

rm -rf /abs/path/to/file;  #prevent cases when old file was a folder
mkdir -p /abs/path/to/file; #make it fist as a dir
rm -rf /abs/path/to/file; #remove the leaf of the dir preserving parents 
touch /abs/path/to/file; #create the actual file

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X