将所有文件复制到另一个位置

将所有文件复制到另一个位置

我有一个名为“员工”的文件夹,该文件夹内有包含每个员工姓名的子文件夹。

employee
>> amar
>> akbar
>> anthony

每个文件夹包含 1 或 2 个文件。大约有 50 名员工。我想将所有这些文件复制到新文件夹“/home/employee_files”中,但不包含子文件夹。换句话说,当我列出“ls /home/employee_files”时,所有文件都应该可用

答案1

$ cp employee/*/* /home/employee_files/

答案2

find /home/attachments/ -type f -exec cp {} /home/attachments_all/ \;

请注意,如果两个文件具有相同的名称,则您只能得到其中一个。

另一种方法是将文件复制到其内容的哈希值名称。

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

这会为您提供每个文件的唯一副本,无论它之前的名称是什么。您可以修改脚本以提供索引文件。

答案3

find /home/attachments/ -name "*.*" -exec scp {} /home/attachments_all/ \;

相关内容