Je souhaite copier un fichier dans tous les sous-dossiers d'un dossier. Comment puis-je faire cela avec la ligne de commande?
Je souhaite copier un fichier dans tous les sous-dossiers d'un dossier. Comment puis-je faire cela avec la ligne de commande?
Réponses:
Comment mettre un fichier dans le répertoire de travail actuel dans tous les sous-dossiers (et peut-être leurs sous-dossiers, selon ce que vous voulez faire)
Cela mettra le fichier dans tous les sous-dossiers, mais pas dans leurs sous-dossiers:
for d in */; do cp water.txt "$d"; done
Cela mettra le fichier water.txt
(changez toutes les instances de water.txt en nom de fichier que vous souhaitez copier) dans tous les sous-dossiers et leurs sous-dossiers
for i in ./* # iterate over all files in current dir
do
if [ -d "$i" ] # if it's a directory
then
cp water.txt "$i" # copy water.txt into it
fi
done
Informations de ce fil de linuxquestions
Vous pouvez utiliser ce one-liner:
find <target-dir> -type d -exec cp <the file> {} \;
limiter la profondeur à 1 -> uniquement les répertoires immédiats
find <target-dir> -type d -maxdepth 1 -exec cp <the file> {} \;