Chcę skopiować plik do wszystkich podfolderów w folderze. Jak mogę to zrobić za pomocą wiersza polecenia?
Chcę skopiować plik do wszystkich podfolderów w folderze. Jak mogę to zrobić za pomocą wiersza polecenia?
Odpowiedzi:
Jak umieścić plik w bieżącym katalogu roboczym we wszystkich podfolderach (a może w ich podfolderach, w zależności od tego, co chcesz zrobić)
Spowoduje to umieszczenie pliku we wszystkich podfolderach, ale nie w ich podfolderach:
for d in */; do cp water.txt "$d"; done
Spowoduje to umieszczenie pliku water.txt
(zmień wszystkie wystąpienia pliku water.txt na nazwę pliku, który chcesz skopiować) we wszystkich podfolderach i ich podfolderach
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
Informacje z tego wątku linuxquestions
Możesz użyć tej linijki:
find <target-dir> -type d -exec cp <the file> {} \;
ogranicz głębokość do 1 -> tylko bezpośrednie katalogi
find <target-dir> -type d -maxdepth 1 -exec cp <the file> {} \;