Napisałem skrypt bash, który ma następujący format:
#!/bin/bash
start=$(date +%s)
inFile="input.txt"
outFile="output.csv"
rm -f $inFile $outFile
while read line
do
-- Block of Commands
done < "$inFile"
end=$(date +%s)
runtime=$((end-start))
echo "Program has finished execution in $runtime seconds."
while
Pętla będzie czytać od $inFile
wykonać pewną aktywność na linii i zrzucić wynik w $outFile
.
Ponieważ $inFile
linie mają ponad 3500 linii, wykonanie całego skryptu zajęłoby 6-7 godzin. Aby zminimalizować ten czas, planuję używać wielowątkowości lub rozwidlania w tym skrypcie. Jeśli utworzę 8 procesów potomnych, 8 wierszy z nich $inFile
zostanie przetworzonych jednocześnie.
Jak można to zrobić?