Mám adresář dir1
který obsahuje mnoho souborů, jejichž názvy končí buď .jpg
nebo .png
. Chci zkopírovat všechny soubory .png
soubory do dir2
který je prázdný.
Tento příkaz funguje:
find dir1 -name '*.png' -exec cp {} dir2 ;
ale tento příkaz ne:
find dir1 -name '*.png' -exec cp {} dir2 +
find: missing argument to `-exec'
Také jsem zkusil:
find dir1 -name '*.png' -exec cp {} -t dir2 +
find: missing argument to `-exec'
a:
find dir1 -name '*.png' -exec cp {} dir2 +
find: missing argument to `-exec'
Po zhlédnutí této stránky jsem dokonce zkusil:
find dir1 -name '*.png' -exec cp {} dir2 {} +
find: Only one instance of {} is supported with -exec ... +
Tato stránka říká:
-exec {} + byl přidán do [verze] 4.2.12 v roce 2005
Moje verze find
je 4.4.2.
Co dělám špatně?
Přijatá odpověď:
Díky ‚steeldriveru‘ jsem přišel na to, že odpověď zní, protože specifikace POSIX zakazuje, aby cokoli bylo mezi {}
a +
za -exec
.
Linux – Jak zrušit sdílení sítě pro aktuální proces?
Výchozí instalace Solaris (nástroje uživatele)?