次の形式のbashスクリプトを作成しました。
#!/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
ループから読み込みます$inFile
、ライン上でいくつかのアクティビティを実行して、結果をダンプ$outFile
。
以下のよう$inFile
3500+ラインの長さで、スクリプトが完全に実行するための6-7時間かかります。この時間を最小限に抑えるために、このスクリプトではマルチスレッドまたはフォークを使用することを計画しています。8つの子プロセスを作成すると、からの8行$inFile
が同時に処理されます。
これはどのように行うことができますか?