我打算查找一些符合特定模式的文件。找到这些文件后,我想将它们移动到新目录。
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
上面的代码能实现吗?有没有更好的方法来实现?
更新
执行上述操作后,发现一些异常。输入的搜索字符串未被正确过滤。
设想:
- 搜索字符串:ABA
- 部分商品清单:ABA-LND-21052021.jpg IKS-ABA-18022020.jpg
- 结果:将两个项目移至目标文件夹
- 预期结果:仅将 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