![如何将所有目录中具有特定文件名的所有文件复制到一个目的地?](https://linux22.com/image/141634/%E5%A6%82%E4%BD%95%E5%B0%86%E6%89%80%E6%9C%89%E7%9B%AE%E5%BD%95%E4%B8%AD%E5%85%B7%E6%9C%89%E7%89%B9%E5%AE%9A%E6%96%87%E4%BB%B6%E5%90%8D%E7%9A%84%E6%89%80%E6%9C%89%E6%96%87%E4%BB%B6%E5%A4%8D%E5%88%B6%E5%88%B0%E4%B8%80%E4%B8%AA%E7%9B%AE%E7%9A%84%E5%9C%B0%EF%BC%9F.png)
假设我有这些文件:
- /1/tEst.mp4
- /1/测试.mP4
- /1/子目录/TEST2.mp4
- /1/.20181106Test2.mp4
如何使用单个命令行将所有这些文件复制到 /2/Videos 中?
应包含所有以“mp4”结尾且名称中包含“test”的文件。如果可能的话,不区分大小写。
我可以使用文件资源管理器搜索所有名为“test”的文件并按视频过滤,但是有什么方法可以从终端执行此操作吗?
答案1
这在 bash 中似乎可行:
set -o nocasematch dotglob globstar
cp /1/**/*test*.mp4 /2/Videos/
答案2
使用以下命令进行测试,效果很好
find /location_from_where_files_need_be_copied -type f -iname "Test*.mp4" -exec cp -t /targetlocation {} \;