Ich denke, Sie müssen mehr Details zu den Grenzwerten angeben. Muss die Ausgabe in convert.txt in der gleichen Reihenfolge sein wie 'before.txt', wie lange dauert jede Analyse des Python-Skripts? Wenn die Ausgabereihenfolge nicht von der Eingabe abhängt, können Sie dies möglicherweise tun, indem Sie die Prozesse in den Hintergrund stellen und in jeder Schleife eine Anzahl von Prozessen starten. Die Anzahl hängt vermutlich von der Anzahl der Threads ab, die von Ihrer CPU verarbeitet werden.
Etwas wie das Folgende könnte (oder auch nicht) für Ihren Zweck geeignet sein:
#! /bin/bash threads=4; threads=$(( $threads - 1)) while read filein do python py-hex.py $filein | sed -n -e '/^qter/p' | sed 's/qter: //g' >> converted.txt & for thread in `seq $threads` do read filein python py-hex.py $filein | sed -n -e '/^qter/p' | sed 's/qter: //g' >> converted.txt & done done < $filename
Hinweise: Dies setzt voraus, dass Ihre Python-Datei leere Eingaben verarbeiten kann (dh, wenn die Anzahl der Befehle nicht genau durch die Anzahl der Threads teilbar ist, werden einige leere Zeilen angezeigt. Sie können dies immer überprüfen, bevor Sie die innere Schleife ausführen.)
Dieses Skript setzt voraus, dass Sie sich nicht für die Ausgabereihenfolge interessieren.