Копирование выбранных файлов в нескольких папках другому месту назначения в Ubuntu

У меня есть путь к папке в LINUX (Ubuntu) следующим образом:

/data/nldas/raw/hourly/

в почасовой папке у меня есть подпапки с 1979 до 2016, и в каждой папке года у меня есть папки юлианской даты от 1 до 365/366. В каждой папке юлианской даты я должен скопировать NLDAS_VIC0125_H.*.grb файлы другому месту назначения в пути LINUX, например. /datadg/name/soil. Я не хочу той же структуры папок в целевом пути.

Кто-то может помочь мне сделать в LINUX?

Заранее спасибо.

Error:

\name@lin-v01:/$ find /datadg/RND_Data/ldas/raw/hourly/ -type f -name 'NLDAS_VIC0125_H.*.grb \ -print0 | xargs -0 cp --target-directory=/datadg/rndFS/name/soilM
find /datadg/RND_Data/ldas/raw/hourly/ -type f -name 'NLDAS_VIC0125_H.*.grb \ -print | xargs -0 cp --target-directory=/datadg/rndFS/name/soilM
find: warning: Unix filenames usually don't contain slashes (though pathnames do).  That means that '-name `NLDAS_VIC0125_H.*.grb \\ -print | xargs -0 cp --target-directory=/datadg/rndFS/name/soilM\nfind /datadg/RND_Data/ldas/raw/hourly/ -type f -name NLDAS_VIC0125_H.*.grb'' will probably evaluate to false all the time on this system.  You might find the '-wholename' test more useful, or perhaps '-samefile'.  Alternatively, if you are using GNU grep, you could use 'find ... -print0 | grep -FzZ `NLDAS_VIC0125_H.*.grb \\ -print | xargs -0 cp --target-directory=/datadg/rndFS/name/soilM\nfind /datadg/RND_Data/ldas/raw/hourly/ -type f -name NLDAS_VIC0125_H.*.grb''.
find: paths must precede expression:  -print
Usage: find [-H] [-L] [-P] [-Olevel] [-D help|tree|search|stat|rates|opt|exec] [path...] [expression]
cp: missing file operand
Try `cp --help' for more information.
0
задан 11 July 2017 в 07:52

1 ответ

Читайте и перечитайте man find. Читайте и перечитайте man xargs find и xargs ответ:

find /data/nldas/raw/hourly/ -type f -name 'NLDAS_VIC0125_H.*.grb' -print0 | xargs -0 cp --target-directory=/datag/name/soil

Отметьте, существует ли два NLDAS_VIC0125_H.*.grb файлы с ТЕМ ЖЕ именем ('*' то же в обоих случаях), каждый будет перезаписан в целевом каталоге, если Вы не будете использовать --backup=numbered опция к cp.

1
ответ дан 2 November 2019 в 23:28

Другие вопросы по тегам:

Похожие вопросы: