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?

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


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> {} \;


2
Ini melakukan semua subdirektori secara rekursif, bukan hanya subdirektori langsung
Anake

2
@ Anake memperbarui jawaban saya
ortang

Jawaban ini luar biasa!
Jinhua Wang
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.