2015-12-15 3 views
-1

Я пытаюсь написать сценарий оболочки для копирования файлов с определенным именем и датой создания/изменения из одной папки в другую. Мне трудно понять, как я могу это сделать?Скрипт оболочки для копирования файлов из одного каталога в другой

Однако я пробовал это до сих пор.

srcdir="/media/ubuntu/CA52057F5205720D/Users/st4r8_000/Desktop/26 nov" 
dstdir="/media/ubuntu/ubuntu" 
find ./ -type f -name 'test*.csv' -mtime -1 

Теперь мой вопрос, можно ли поставить, что найти команду в, если условие, чтобы получить файлы, найденные find. Я очень новичок в сценарии оболочки. Любая помощь могла бы быть полезна.

+0

Ваша команда 'find' неполна. '-mtime' нуждается в параметре, и вы его не поставляете. Вы хотите скопировать все файлы '* .csv' из всех подкаталогов в один целевой каталог или есть требование сохранить структуру каталогов? Во всяком случае, ищите 'find ... -exec cp -t' – tripleee

+0

@tripleee спасибо за комментарий и упоминание всего этого. Однако я нашел решение с помощью команды 'find ... -exec cp -t'. Но я столкнулся с другой проблемой. Как я могу напечатать какое-либо сообщение, когда произойдет копия. и как я могу напечатать какое-то сообщение, когда он не смог скопировать файлы. потому что я хочу создать файл журнала. –

+0

Тривиально добавьте опцию '-v' в командную строку' cp'. – tripleee

ответ

0

Для этого я нашел полезным следующий код. Я делюсь этим здесь, так что кто-то, кто такой новый, как я, может помочь от него:

#!/bin/bash 

srcdir="/media/ubuntu/CA52057F5205720D/Users/st4r8_000/Desktop/office work/26 nov" 
dstdir="/media/ubuntu/ubuntu" 

find "$srcdir" -type f -name 'test*.csv' -mtime -1 -exec cp -v {} "$dstdir" \; 
Смежные вопросы