我絕對是新來的bash腳本,但我需要執行一些任務。我有一個只有一列數字的文件(6250000)。我需要一次提取100個,將它們放入一個新文件並將每個100提交給另一個程序。我認爲這應該是一種循環,通過我的文件每100個數字並提交給程序。如何從文本文件中一次提取100個數字?
假設我在文件中的數字看起來像這樣。
1.6435
-1.2903
1.1782
-0.7192
-0.4098
-1.7354
-0.4194
0.2427
0.2852
我需要將這些62500輸出文件中的每一個輸入到具有參數文件的程序中。我在做這樣的事情:
lossopt()
{
cat<<END>temp.par
Parameters for LOSSOPT
***********************
START OF PARAMETERS:
lossin.out \Input file with distribution
1 \column number
lossopt.out \Output file
-3.0 3.0 0.01 \xmin, xmax, xinc
-3.0 1
0.0 0.0
0.0 0.0
3.0 0.12
END
}
for i in {1..62500}
do
sed -n 1,100p ./rearnum.out > ./lossin.out
echo temp.par | ./lossopt >> lossopt.out
rm lossin.out
cut -d " " -f 101- rearnum.out > rearnum.out
done
rearnum是我的大初始文件
如果你是新手bash scripting_但需要用it_執行一些任務,也許你花時間學習Python/Perl? Bash對於一行(例如)是罰款(超過)。,其中一個標準輸出通過管道連接到下一個標準輸入的命令列表),但對於任何嚴重的挑戰,bash將使您經歷腳本語言不需要的箍環。現在,由於您可以通過在頂部放置一個shebang('#!')或直接從bash行調用它(例如'$ python -c「print'hello world'」')來執行腳本,所以不需要投入太多時間在bash研究。 – boardrider