Bash 循环浏览文件夹中的所有文件夹并运行命令
我有一个.png文件,我错误地将其保存为.psd,并将其埋在资产目录的某个地方。我通过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
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文件,那么如何更改命令应该是显而易见的。