myślę, że for/do
pętla jest wyraźniejszy i prawdopodobnie niewiele szybciej niż find
plus xargs
. Zakładając, że używasz domyślnej powłoki, bash
, na OS X, ogólnej formie polecenia, jeśli chcesz zrobić to jako jedną wkładką jest:
for f in <files>; do <somecommand> $f; done
gdzie <files>
to wyrażenie, którego wynikiem listy plików (zwykle rozszerzenie ze znakami wieloznacznymi), <somecommand>
to wiersz poleceń, który ma zostać wykonany dla każdego pliku, a następnie $f
rozwija się do każdego pliku po kolei w postaci <files>
. Więc chcesz wpisać coś takiego:
for f in myfolder/*; do TMXResolutionTool $f <otherparameters> ; done
Można również uruchomić wiele poleceń wewnątrz pętli na tej samej linii, tylko przez łańcuchowym je średnikami. Dlatego, jeśli pytanie oznacza, że chcesz uruchomić TMXResolutionTool trzykrotnie na temat każdego pliku w sekwencji o różnych parametrach:
for f in myfolder/*; do TMXResolutionTool $f <otherparameters>; TMXResolutionTool $f <differentparameters>; TMXResolutionTool $f <yetmoredifferentstuff>; done
Nawiasem mówiąc, to wszystkie podstawowe bash
sztuczki powłoki; nie jest to specyficzne dla OS X. Każda książka na temat bash
powie ci to wszystko i więcej (chociaż jeśli chcesz poznać wiersz poleceń z perspektywy Maca, polecam książkę O'Reilly Learning Unix for OS X Mountain Lion).
Dziękuję, super. – Eyeball