![递归复制一定大小以下的文件和文件夹](https://linux22.com/image/158511/%E9%80%92%E5%BD%92%E5%A4%8D%E5%88%B6%E4%B8%80%E5%AE%9A%E5%A4%A7%E5%B0%8F%E4%BB%A5%E4%B8%8B%E7%9A%84%E6%96%87%E4%BB%B6%E5%92%8C%E6%96%87%E4%BB%B6%E5%A4%B9.png)
如何使用相同的文件夹层次结构递归复制所有文件和文件夹。然而,我只想复制特定大小的文件。
答案1
您可以使用rsync
该--max-size
选项。
答案2
使用find -exec
cd /path/to/source
find . -size -50k -type f -exec cp --parents {} /destination/ \;
答案3
POSIXly,并假设文件路径不包含换行符:
find . -type f -size -10000c | pax -rw /destination/
这里适用于小于 10000 字节的文件。
一些find
实现有一个-print0
谓词,一些pax
实现有一个相应的-0
选项,导致文件列表以 NUL 分隔,这将解决新队上面提到的限制。