Odpowiedzi:
Użycie opcji aktualizacji (-u) z cp powinno to zrobić za Ciebie.
http://beginnerlinuxtutorial.com/help-tutorial/basic-linux-commands/cp-linux-copy-command/
Użyj rsync
rsync --progress -r -u /from/one/* /to/another/directory
-r
oznacza operację rekurencyjną w podkatalogach i -u
utrzymywanie nowszych plików w miejscu docelowym (= aktualizacja). --progress
pokazuje informacje o postępie podczas pracy.
Nie mówisz, jakiej powłoki używasz, więc założę ksh
:
if [[ file1 -nt file2 ]]; then cp file1 file2; fi
yes|cp -ruv /from/* /to/.
tak - odpowiedz tak na wszystkie pytania.
r - Rekurencyjny
u - aktualizacja
v - Postęp
działa jak xargs .
Nie wiem jak wyjaśnić naukowo.
-u
opcji. Zamiast tego możesz użyćrsync --update
.