Miałem nadzieję:
cp -R src/prog.js images/icon.jpg /tmp/package
dałoby symetryczną strukturę w katalogu docelowym:
/tmp
|
+-- package
|
+-- src
| |
| +-- prog.js
|
+-- images
|
+-- icon.jpg
ale zamiast tego oba pliki są kopiowane do / tmp / package. Płaska kopia. (To jest na OSX).
Czy istnieje prosta funkcja bash, której mogę użyć do skopiowania wszystkich plików, w tym plików określonych za pomocą symboli wieloznacznych (np. Src / *. Js) w ich właściwe miejsce w katalogu docelowym. Trochę jak „dla każdego pliku uruchom mkdir -p $(dirname "$file"); cp "$file" $(dirname "$file")
”, ale być może jedno polecenie.
To jest istotny wątek, który sugeruje, że nie jest to możliwe. Autorskie rozwiązanie nie jest jednak dla mnie zbyt przydatne, ponieważ chciałbym po prostu podać listę plików, bez symboli wieloznacznych lub nie, i skopiować je wszystkie do docelowego katalogu. IIRC MS-DOS xcopy robi to, ale wydaje się, że nie ma odpowiednika dla cp.