bash - Bash脚本将文件夹及其子文件夹中的所有png文件移动到另一个目录?
问题描述
在 ~/Desktop/a/ 中,我有 .png 文件,其中还有一些子文件夹也有 .png 文件。
我想将所有这些 .png 文件移动到另一个文件夹。
到目前为止,这是我的代码。它运行,但没有任何东西放入目标文件夹。问题是什么?
#!/bin/bash
cd ~/Desktop/a/
for f in $(find . -type f -name "*.png")
do
mv $f ~/Desktop/new/
done
解决方案
我猜这些图像文件名可能包含空格或其他特殊字符。
find ~/Desktop/a/ -type f -name "*.png" -exec mv "{}" ~/Desktop/new/ \;
或者
find ~/Desktop/a/ -type f -name "*.png" -print0 | xargs -0 -I{} mv "{}" ~/Desktop/new/
推荐阅读
- reactjs - 如何在 Material UI/JSS 中定位复杂组件的同级/子级
- api - 在 Postman POST 请求中传递对象列表 -Body
- jquery - 边界半径在内部仍然是正方形
- python - 将数据从文本文件转换为 1 Excel 的处理时间
- html - 使用 HTML 和 CSS 编码创建组织结构图
- reactjs - react如何更新DOM的一部分?
- css - 如何将背景图像放置在另一个背景图像的确切中心
- ios - iOS集成SDK、包
- angular - Angular 6 BehaviourSubject.next 要求类方法的值
- httpclient - 地图运算符下的代码不适用于角度 6