我在 bash 循环中使用 paste 命令将新列添加到 CSV 文件。我想重用 CSV 文件。目前我正在使用一个临时文件来完成此操作:
while [ $i -le $max ]
do
# create text from grib2
wgrib2 -d 1.$(($i+1)) -no_header myGribFile.grb2 -text tmptxt.txt
#paste to temporary file
paste -d, existingfile.csv tmptxt.txt > tmpcsv.csv
#overwrite old csv with new csv
mv tmpcsv.csv existingfile.csv
((i++))
done
添加一些列后,副本变得越来越慢,因为文件变得越来越大(每个tmptxt.txt
都有大约 2 MB,增加到大约 100 MB)。
Atmptxt.txt
是一个普通的 txt 文件,每行有一列和一个值:
1
2
3
.
.
existingfile.csv
那么将是
1,1,x
2,2,y
3,3,z
.,.,.
.,.,.
有没有办法使用粘贴命令将列添加到现有文件?或者还有其他方法吗?
谢谢