Скопируйте все файлы в другое расположение [закрыто]

У меня есть папка с именем «сотрудник», и в этой папке есть вложенные папки с именем каждого сотрудника.

employee
>> amar
>> akbar
>> anthony

Каждая из этих папок содержит 1 или 2 файла. В штате около 50 сотрудников. Я хочу скопировать все эти файлы в новую папку "/home/employee_files" без подпапк. Другими словами, все файлы должны быть доступны, когда я перечисляю "ls /home/employee_files"

1
задан 26 August 2011 в 06:07
3 ответа
$ cp employee/*/* /home/employee_files/
3
ответ дан 4 December 2019 в 01:26
find /home/attachments/ -name "*.*" -exec scp {} /home/attachments_all/ \;
-2
ответ дан 4 December 2019 в 01:26
find /home/attachments/ -type f -exec cp {} /home/attachments_all/ \;

Помните, что если два файла имеют одинаковое имя, у вас будет только один из них.

Альтернативный подход - копировать файлы с именем, которое является хешем их content.

#!/bin/bash
cp "$1" /home/attachments_all/`sha1sum "$1" | cut -f 1 -d ' '`

Это даст вам уникальную копию каждого файла независимо от того, как он был назван ранее. Вы можете изменить сценарий, чтобы предоставить вам индексный файл.

0
ответ дан 4 December 2019 в 01:26

Теги

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