Copie el contenido / archivo a todo el subdirectorio en un directorio usando terminal


17

Quiero copiar un archivo a todas las subcarpetas en una carpeta. ¿Cómo puedo hacer esto con la línea de comando?

Respuestas:


26

Cómo colocar un archivo en el directorio de trabajo actual en todas las subcarpetas (y tal vez sus subcarpetas, según lo que desee hacer)

Esto colocará el archivo en todas las subcarpetas, pero no en sus subcarpetas:

for d in */; do cp water.txt "$d"; done

Esto colocará el archivo water.txt(cambie todas las instancias de water.txt al nombre de archivo que desea copiar) en todas las subcarpetas y sus subcarpetas

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

Información de este hilo de linuxquestions


13

Podrías usar esa frase:

find <target-dir> -type d -exec cp <the file> {} \;

limitar la profundidad a 1 -> solo los directorios inmediatos

find <target-dir> -type d -maxdepth 1 -exec cp <the file> {} \;


2
Esto hace todos los subdirectorios de forma recursiva, no solo los subdirectorios inmediatos
Anake

2
@Anake actualizó mi respuesta
ortang

¡Esta respuesta es excelente!
Jinhua Wang
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.