Je veux copier un fichier dans tous les sous-dossiers d'un dossier. Comment puis-je faire cela avec la ligne de commande?
Comment placer un fichier dans le répertoire de travail en cours dans tous les sous-dossiers (et peut-être leurs sous-dossiers, selon ce que vous voulez faire)
Cela placera le fichier dans tous les sous-dossiers, mais pas dans leurs sous-dossiers:
for d in */; do cp water.txt "$d"; done
Cela placera le fichier water.txt
(remplacez toutes les instances de water.txt par le 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
Info de ce fil linuxquestions
Vous pouvez utiliser cette ligne:
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> {} \;