Gnuplot 绘制两个 CSV 文件的排序合并

2024-03-02

我正在尝试合并和排序两个 CSV 文件,跳过前 8 行。

我尝试按我使用的第 36 列对其中一个文件进行排序:

awk '(NR>8 ){print; }' Hight_5x5.csv | sort -nk36

并合并两个文件:

cat Hight_5x5.csv <(tail +8 Hight_5x5_b.csv)

The sort命令它不起作用。

我希望两个人在命令中使用这两个操作并将结果发送到plotgnuplot 命令。我试过这条线:

awk '(NR>8 ){print; }' (cat Hight_5x5.csv <(tail +8 Hight_5x5_b.csv)) | sort -nk36

它确实合并了两个文件,但它不按第 36 列排序,因此我假设在 gnuplot 中plot命令也不起作用。

plot "<awk '(NR>8 ){print; }' (cat Hight_5x5.csv <(tail +8 Hight_5x5_b.csv)) | sort -nk36"

问题是两个文件的格式。数据有","分离。例如,...,"0.041","3.5","40","false","1000","1.3","20","5","5","-20","2","100000000","0.8",....

This link https://www.dropbox.com/sh/ool5ab361ku19zc/AAB-p56TqHDAbAKGIiDNNfqNa?dl=0有两个 CSV 文件。

Regards


$ awk 'FNR>8' file1 file2 | sort -k36n 

应该做,我想你应该能够通过管道传输到gnuplot以及。

不明白你的评论,sort会排序。也许您没有 36 个字段,或者您的分隔符不是空格,您必须指定这一点。

这是一个带有逗号分隔字段的虚拟数据的示例

$ awk 'FNR>3' <(seq 20 | paste - - -d,) <(seq 10 | shuf | paste - - -d,) | sort -t, -k2n
5,1
2,7
7,8
9,10
11,12
13,14
15,16
17,18
19,20
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Gnuplot 绘制两个 CSV 文件的排序合并 的相关文章

随机推荐