Я надеялся:
cp -R src/prog.js images/icon.jpg /tmp/package
приведет к симметричной структуре в директории назначения:
/tmp
|
+-- package
|
+-- src
| |
| +-- prog.js
|
+-- images
|
+-- icon.jpg
но вместо этого оба файла копируются в / tmp / package. Плоская копия. (Это на OSX).
Существует ли простая функция bash, которую я могу использовать для копирования всех файлов, включая файлы, указанные с помощью подстановочного знака (например, src / *. Js), в их законное место в каталоге назначения. Немного похоже на «для каждого файла, запустите mkdir -p $(dirname "$file"); cp "$file" $(dirname "$file")
», но, возможно, одну команду.
Это актуальная тема, которая предполагает, что это невозможно. Однако авторское решение мне не очень полезно, потому что я хотел бы просто предоставить список файлов, подстановочных знаков или нет, и скопировать их всех в каталог назначения. IIRC MS-DOS xcopy делает это, но, похоже, нет эквивалента для cp.