Bash 循环浏览文件夹中的所有文件夹并运行命令

Bash 循环浏览文件夹中的所有文件夹并运行命令,bash,terminal,asset-catalog,Bash,Terminal,Asset Catalog,我有一个.png文件,我错误地将其保存为.psd,并将其埋在资产目录的某个地方。我通过file-I/pathWithFileName计算出如何打印文件的实际类型,在我的桌面上打印出“Untitled-1.png:image/vnd.adobe.photoshop;charset=binary'这是正确的,因为我故意犯了测试错误 现在,我想在我的整个资产目录(包括所有子文件夹.imageset)上运行它,但这并不完全起作用: find /mypath/Assets.xcassets/foldern

我有一个.png文件,我错误地将其保存为.psd,并将其埋在资产目录的某个地方。我通过
file-I/pathWithFileName
计算出如何打印文件的实际类型,在我的桌面上打印出“Untitled-1.png:image/vnd.adobe.photoshop;charset=binary'这是正确的,因为我故意犯了测试错误

现在,我想在我的整个资产目录(包括所有子文件夹.imageset)上运行它,但这并不完全起作用:

find /mypath/Assets.xcassets/foldername/_foldername -type f -maxdepth 2 for i in *.imageset; file -I *.jpg ;

这是行不通的。关于如何循环遍历所有Assets.xcsets文件夹并打印文件-I/pathWithFileName,以便查看哪个图像保存错误,有什么想法吗?

使用
-path
选项匹配以
结尾的目录中以
.psd
结尾的文件。然后使用
-exec
选项对文件运行命令

find /mypath/Assets.xcassets/foldername/_foldername -type f -maxdepth 2 -path '*.imageset/*.psd' -exec file -I {} +

使用
-path
选项匹配以
.psd
结尾的目录中以
.imageset
结尾的文件。然后使用
-exec
选项对文件运行命令

find /mypath/Assets.xcassets/foldername/_foldername -type f -maxdepth 2 -path '*.imageset/*.psd' -exec file -I {} +

我注意到,在问题文本OP中,他说他意外地保存为.psd,但他的示例代码似乎假定错误的扩展名为.jpg。这个答案是针对后者的,不过如果OP真正想要的是.psd文件,那么应该很明显如何更改命令来检查.psd文件。我注意到,在问题文本OP中,他说他意外地保存为.psd,但他的示例代码似乎假定错误的扩展名为.jpg。这个答案是针对后者的,不过如果OP真正想要的是检查.psd文件,那么如何更改命令应该是显而易见的。