Bir dosyayı bir klasördeki tüm alt klasörlere kopyalamak istiyorum. Bunu komut satırıyla nasıl yapabilirim?
Bir dosyayı bir klasördeki tüm alt klasörlere kopyalamak istiyorum. Bunu komut satırıyla nasıl yapabilirim?
Yanıtlar:
Bir dosyayı tüm alt klasörlerde (ve belki de alt klasörlerinde, ne yapmak istediğinize bağlı olarak) geçerli çalışma dizinine yerleştirme
Bu, dosyayı tüm alt klasörlere koyar, ancak alt klasörlerine yerleştirmez:
for d in */; do cp water.txt "$d"; done
Bu, dosyayı water.txt
tüm alt klasörlere ve alt klasörlerine yerleştirir (water.txt dosyasının tüm kopyalarını kopyalamak istediğiniz dosya adına değiştirir)
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
Bu tek astarı kullanabilirsiniz:
find <target-dir> -type d -exec cp <the file> {} \;
derinliği 1 ile sınırlayın -> sadece en yakın dizinler
find <target-dir> -type d -maxdepth 1 -exec cp <the file> {} \;