遍历文件夹中的所有文件夹并运行命令
Posted
技术标签:
【中文标题】遍历文件夹中的所有文件夹并运行命令【英文标题】:Loop through all folders within a folder and run command 【发布时间】:2016-06-23 21:36:55 【问题描述】:我有一个 .png 文件,我不小心将它保存为 .psd,埋在资产目录的某个位置。我想出了如何通过file -I /pathWithFileName
打印文件的实际类型,在我的桌面上打印出'Untitled-1.png: image/vnd.adobe.photoshop; charset=binary' 这是正确的,因为我故意犯了错误来测试。
现在我想在我的整个资产目录上运行它,包括所有子文件夹 .imagesets,但这并不能完全解决问题:
find /mypath/Assets.xcassets/foldername/_foldername -type f -maxdepth 2 for i in *.imageset; file -I *.jpg ;
这不起作用。关于如何遍历所有 Assets.xcassets 文件夹并打印出文件 -I /pathWithFileName 的任何想法,以便我可以看到哪个图像保存错误?
【问题讨论】:
【参考方案1】:使用-path
选项在以.imageset
结尾的目录中匹配以.psd
结尾的文件。然后使用-exec
选项对文件运行命令。
find /mypath/Assets.xcassets/foldername/_foldername -type f -maxdepth 2 -path '*.imageset/*.psd' -exec file -I +
【讨论】:
我观察到问题文本 OP 说他不小心保存为 .psd,但他的示例代码似乎假定错误的扩展名是 .jpg。这个答案是针对后者的,尽管如果这是 OP 真正想要的,如何更改命令来检查 .psd 文件应该很明显。以上是关于遍历文件夹中的所有文件夹并运行命令的主要内容,如果未能解决你的问题,请参考以下文章