Gnuplotting la fusion triée de deux fichiers CSV

voix
0

Je suis en train de fusionner et trier deux fichiers CSV les 8 premières à sauter les lignes.

J'essaie de trier un des fichiers de la 36 e colonne I utilise:

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

et de fusionner les deux fichiers:

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

La sortcommande ne fonctionne pas.

Je voudrais deux utiliser les deux actions dans une commande et envoyer le résultat à la plotcommande de gnuplot. J'ai essayé cette ligne:

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

et il fait fusionner les deux fichiers , mais il ne trie pas par la colonne 36, je suppose donc dans gnuplot plotcommande ne fonctionne pas trop.

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

Le problème est le format des deux fichiers. Les données ont des ,séparations. Par exemple, ...,0.041,3.5,40,false,1000,1.3,20,5,5,-20,2,100000000,0.8,....

Ce lien a les deux fichiers CSV.

Cordialement

Créé 27/11/2018 à 15:21
source utilisateur
Dans d'autres langues...                            


1 réponses

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

devrait faire, je suppose que vous devriez être en mesure de tuyau pour gnuplotainsi.

Je ne comprends pas votre commentaire, sorttriera. Peut-être que vous n'avez pas 36 champs ou votre séparateur est pas d' espace blanc, que vous devez spécifier.

Voici un exemple avec des données factices avec des champs séparés par des virgules

$ 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
Créé 27/11/2018 à 15:46
source utilisateur

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more