Ich denke, klarer eine for/do
Schleife klarer ist und wahrscheinlich ein etwas schneller als find
plus xargs
. Vorausgesetzt, dass Sie die Standard-Shell verwenden, bash
, auf OS X, die allgemeine Form des Befehls, wenn Sie es als Einzeiler tun möchte, ist:
for f in <files>; do <somecommand> $f; done
wo <files>
ein Ausdruck ist, der zu einer Liste auswertet der Dateien (normalerweise eine Platzhaltererweiterung), <somecommand>
ist die Befehlszeile, die für jede Datei ausgeführt werden soll, und $f
wird zu jeder Datei in <files>
der Reihe nach erweitert. Also würden Sie so etwas wie dieses geben:
for f in myfolder/*; do TMXResolutionTool $f <otherparameters> ; done
Sie können auch mehrere Befehle innerhalb der Schleife auf der gleichen Linie nur durch Verkettungs sie mit Semikolons laufen. Also, wenn Ihre Frage bedeutet, dass Sie TMXResolutionTool dreimal auf jede Datei nacheinander mit unterschiedlichen Parametern ausgeführt werden soll:
for f in myfolder/*; do TMXResolutionTool $f <otherparameters>; TMXResolutionTool $f <differentparameters>; TMXResolutionTool $f <yetmoredifferentstuff>; done
By the way, ist dies alle grundlegenden bash
Shell Tricks; Es ist nicht spezifisch für OS X. Jedes Buch auf bash
wird Ihnen all dies und mehr erzählen (obwohl, wenn Sie etwas über die Befehlszeile aus Mac-Perspektive lernen möchten, empfehle ich das O'Reilly Buch Learning Unix for OS X Mountain Lion).
Danke, fantastisch. – Eyeball