Я надеялся, что:
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.