Я пытаюсь написать скрипт, который запускается при запуске и копирует любые файлы с любого подключенного USB-накопителя в определенный каталог, но без содержащих его каталогов.
Итак, у меня есть USB-накопитель под названием Data, на данных есть 2 каталога, Dir1 и Dir2, в каждом каталоге есть файл. Dir1File.txt и Dir2File.txt.
Я хочу скопировать эти два файла в / home / data, но если я выполню
rsync -av /media/* /home/data
data, тогда будет каталог с именем Data, внутри которого находятся Dir1 и Dir 2, внутри которых находятся соответствующие файлы. Можно ли это сделать?
Вы могли использовать find
команда, чтобы получить список всех файлов и затем использовать цикл для копирования файлов один за другим. Что-то вроде этого:
for i in `find /media -type f` ; do cp $i /home/data/ ; done
Конечно, если то же имя файла появляется в нескольких местах затем, что файл будет перезаписан, и Вы просто получите последний.
Править: вероятно, лучше сделать копирование уже как часть команды находки вместо того, чтобы использовать цикл, как описано в комментарии steeldriver ниже.