我认为for/do
循环更清晰,可能比find
plus快一点xargs
。假设您bash
在 OS X 上使用默认 shell,如果您想将其作为单线执行,则该命令的一般形式是:
for f in <files>; do <somecommand> $f; done
where<files>
是一个计算文件列表的表达式(通常是通配符扩展),<somecommand>
是您要为每个文件执行的命令行,并依次$f
扩展到每个文件。<files>
所以你会输入这样的内容:
for f in myfolder/*; do TMXResolutionTool $f <otherparameters> ; done
您还可以在同一行的循环内运行多个命令,只需将它们用分号链接即可。因此,如果您的问题意味着您想使用不同的参数在每个文件上按顺序运行 TMXResolutionTool 三次:
for f in myfolder/*; do TMXResolutionTool $f <otherparameters>; TMXResolutionTool $f <differentparameters>; TMXResolutionTool $f <yetmoredifferentstuff>; done
顺便说一句,这都是基本的bash
shell 技巧;它不是特定于 OS X 的。任何有关这方面的书bash
都会告诉你所有这些以及更多信息(尽管如果你想从 Mac 的角度了解命令行,我推荐 O'Reilly 的书Learning Unix for OS X Mountain Lion)。