定位文件并将其移动到目标

定位文件并将其移动到目标

我打算查找一些符合特定模式的文件。找到这些文件后,我想将它们移动到新目录。

for i in $(find <search_location> -name '<search_pattern>')
do
    #mkdir -p <new_location_to_be_copied_to>
    mv $i <new_location_to_be_copied_to>
done

上面的代码能实现吗?有没有更好的方法来实现?


更新

执行上述操作后,发现一些异常。输入的搜索字符串未被正确过滤。

设想:

  1. 搜索字符串:ABA
  2. 部分商品清单:ABA-LND-21052021.jpg IKS-ABA-18022020.jpg
  3. 结果:将两个项目移至目标文件夹
  4. 预期结果:仅将 ABA-LND-21052021.jpg 移动到目标文件夹

答案1

如果相同的话,我更喜欢在循环之前创建文件夹(优化无处不在:D)

因此,我有以下内容(在 Ubuntu 18.04 上测试):

mkdir -p <destination_folder>
for i in $(find <source_folder> -name '<pattern>')
do
    mv $i <destination_folder>
done

相关内容