Salin konten / file ke semua subdirektori dalam direktori menggunakan terminal

17

Saya ingin menyalin file ke semua subfolder di folder. Bagaimana saya bisa melakukan ini dengan baris perintah?

Hanya 22lk94k943
sumber

Jawaban:

26

Cara menempatkan file di direktori kerja saat ini di semua subfolder (dan mungkin subfoldernya, tergantung pada apa yang ingin Anda lakukan)

Ini akan menempatkan file di semua subfolder, tetapi bukan subfoldernya:

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

Ini akan meletakkan file water.txt(ubah semua instance water.txt ke nama file yang ingin Anda salin) di semua subfolder dan subfoldernya

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 dari utas pertanyaan linux ini

Pengguna Lain
sumber
13

Anda dapat menggunakan one-liner itu:

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

batasi kedalaman hingga 1 -> hanya direktori langsung

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

ortang
sumber
2
Ini melakukan semua subdirektori secara rekursif, bukan hanya subdirektori langsung
Anake
2
@ Anake memperbarui jawaban saya
ortang
Jawaban ini luar biasa!
Jinhua Wang