Вот мои предположения:
Структура файлов на прежнем месте:
..
├── app
│ ├── code
│ ├── design
│ ├── etc
│ └── locale
│ └── ...
├── script.d
│ ├── file.list
│ ├── script.sh
└── skin
└── frontend
└── ...
file.list - имя файла, содержащего список файлов для копирования. script.sh - это следующий скрипт.
#! /bin/bash
distDir="THE NEW DIRECTORY PATH" # <<<<<< Alter this line
for filePath in $(cat "file.list");
do
len=$(wc -c "$filePath")
newFilePath=$(cut -c4-$len "$filePath")
tempFileName=$(grep -Po '[^/]+$' "$filePath")
path=$(grep -Po '^.*/' "$newFilePath")
newPath=$distDir
for dir in $(echo "$path" | tr / '\n');
do
if [ $(ls "$newPath" | grep -P '^'$dir'$' | wc -l) = 0 ]
then
mkdir "$newPath"'/'"$dir"
newPath="$newPath"'/'"$dir"
fi
done
cp "$filePath" "$newPath"'/'
done
Убедитесь, что вы указали правильный путь в первой строке.