簡體   English   中英

如何使用 bash 將程序輸出到 csv 文件?

[英]How do I get my output from a program on to a csv file using bash?

如何使用 bash 將程序輸出到 csv 文件? 當我發送程序的輸出時,它一直覆蓋。

outfile="gremlin_pop"$low_pop"-"$hi_pop".csv"
echo "Initial Population,Good Gremlins,Bad Gremlins" > $outfile

for p in `seq $low_pop $step_pop $hi_pop`;
do
    echo "Experiment: " $p
    python3 gremlinSim.py $p 
done

我的 csv 文件應該是這樣的,

Initial Population,Good Gremlins,Bad Gremlins
10,10,0
20,20,0
30,30,4
40,50,4
50,61,4
         

程序的輸出,

Experiment:  10
10 10 0
Experiment:  20 
20 20 0
Experiment:  30
30 30 4
Experiment:  40
40 50 4
Experiment:  50
50 61 4

當我發送程序的輸出時,它一直覆蓋。

這是因為您使用>創建/覆蓋文件,而不是>>向文件添加文本。 當您將輸出添加到$outfile時,您還應該擺脫echo語句。 或者 ...

echo "Initial Population,Good Gremlins,Bad Gremlins" >> "$outfile"
echo "Experiment: ${p}" >> "$outfile"

不知道為什么你不會編輯 python 腳本來像你想要的那樣行事。 無論如何,要更改該腳本的輸出,您可以使用tr

python3 gremlinSim.py $p | tr '[:blank:]' ',' >> "$outfile"

輸出:

10,10,0
20,20,0
30,30,4
40,50,4
50,61,4

[:blank:]代表空格制表,而,將用作替換。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM