我有一个名为“员工”的文件夹,该文件夹内有包含每个员工姓名的子文件夹。
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/ \;