Quero copiar um arquivo para todas as subpastas em uma pasta. Como posso fazer isso com a linha de comando?
Quero copiar um arquivo para todas as subpastas em uma pasta. Como posso fazer isso com a linha de comando?
Respostas:
Como colocar um arquivo no diretório de trabalho atual em todas as subpastas (e talvez nas subpastas, dependendo do que você deseja fazer)
Isso colocará o arquivo em todas as subpastas, mas não nas subpastas:
for d in */; do cp water.txt "$d"; done
Isso colocará o arquivo water.txt
(altere todas as instâncias de water.txt para o nome do arquivo que você deseja copiar) em todas as subpastas e suas subpastas
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
Informações deste tópico do linuxquestions
Você pode usar essa frase:
find <target-dir> -type d -exec cp <the file> {} \;
limite a profundidade a 1 -> apenas os diretórios imediatos
find <target-dir> -type d -maxdepth 1 -exec cp <the file> {} \;