Je dois tracer avec Gnuplot les données contenues dans 3 fichiers CSV.

Communément , Jutilise le code suivant pour tracer à partir de 2 fichiers CSV:

$datablock << EOD `cat ../Q1a/sim_Q1.csv <(tail -n+8 ../Q1b/sim_Q1.csv | tr ""," " " | sort -nk19 )| tail -n+8 | tr ""," " " | sort -nk19 > ../Q1a/Q6_ressult.txt` EOD set print "|bash -x" print $datablock set print 

Les CSV sont dans trois répertoires différents. Les données commencent à la ligne 8 et je dois retirer les caractères " et , et trier les données par colonne 19.

Je ne sais pas comment étendre ce code pour coller 3 CSV différents faisant de même, sort, tail -n+8 et tr, et obtenez un fichier .txt final avec le résultat.

Réponse

Je ne sais pas comment Gnuplot y joue spécifiquement, mais si vous « cherchez un moyen de tail plusieurs fichiers, vous peut le faire simplement en passant leurs noms sur la ligne de commande.

Le seul problème est que tail séparera les sorties avec un en-tête pour une visualisation plus facile à moins que vous ajoutez loption -q:

 -q, --quiet, --silent never output headers giving file names 

Pour autant que je sache, vous pouvez ignorer les substitutions de processus et les multiples (r e) les tris font simplement

tail -q -n+8 ../Q1a/sim_Q1.csv ../Q1b/sim_Q1.csv ../Q1c/sim_Q1.csv | tr ""," " " | sort -nk19 

Commentaires

  • Merci. Votre code est simple et fonctionne correctement. Je voudrais vous demander comment pourrais-je sélectionner une plage de lignes dans le deuxième fichier, par exemple de la ligne 8 à la ligne 470. Je pourrais utiliser sed -n -e '8,470p', mais je ne sais pas comment changer votre solution. Je pense que le problème est que jai besoin de cette sélection de plage dans un seul des trois fichiers.
  • @ user1993416 probablement la modification la plus simple serait tail -q -n+8 file1 <(head -n 470 file2) file3
  • Enfin, mes résultats sont dans 5 fichiers et 2 dentre eux, je dois faire le head -n jusquà une ligne. Puis-je écrire quelque chose comme tail -q -n+8 file1 <(head -n470 file2 <(head -n380 file3)) file4 file5?
  • Jai posté une nouvelle question avec le collage des 5 fichiers. Cordialement.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *