2011-01-08 7 views
1

Ich habe ein Bash ‚for-Schleife‘, die tut, was ichxargs in verschiedene Dateien

for i in *.data 
do 
    ./prog $i >dir/$i.bck 
done 

wollen Kann ich machen dieses zu einem xargs konstruieren? Ich habe versucht, so etwas wie

ls *.data|xargs -n1 -I FILE ./prog FILE >dir/FILE.bck 

Aber ich habe Probleme mit dem Dateiright von ‚>‘

dank

Antwort

3

Geben Sie diesem einen Versuch (Sie FILE statt % verwenden können, wenn Sie es vorziehen,):

find -maxdepth 1 -name '*.data' -print0 | xargs -0 -n1 -I % sh -c './prog % > dir/%.bck'