Récupérer le dernier "bloc" de chaque ligne d'un fichier - Shell/Batch - Programmation
Marsh Posté le 21-07-2016 à 14:19:45
Bonjour !
Vous pouvez, soit préciser le séparateur dans le bloc BEGIN, comme c'était fait auparavant, soit le préciser dans la ligne de commande avec l'option -F\;, les deux reviennent au même
Bonne continuation !
Marsh Posté le 21-07-2016 à 14:57:38
Merci pour ton aide
La commande awk 'BEGIN { FS=";"; ORS=" "}{if (NR!=1) {print $NF}}' fichier.csv me donne le résultat souhaité !
Marsh Posté le 21-07-2016 à 13:49:58
Bonjour,
Voici mon problème, j'ai un fichier .csv du type:
*********
Nom;Prénom;age
Jeanne;blabla;45
Isabelle;blabla;13
Paul;blabla;8
ligne vide
*********
Je souhaite récupérer sous forme de variable les derniers blocs concaténés. Dans notre cas nous aurions la variable concat = 45 13 8
En gros je veux récupérer les derniers blocs de chaque ligne, et les assembler en mettant un espace entre chaque caractère.
N'ayant jamais programmer en shell je suis un peu bloqué avec la commande awk.
Par exemple awk 'BEGIN {FS = ";"} ; END { print $NF }' fichier.csv ne me retourne que le dernier bloc du fichier (ligne vide ou 8 si je la supprime).
Par contre la commande awk '{ print $NF }' fichier.csv me récupere bien l'ensemble des lignes, mais sans prendre en compte le séparateur de champs ';'
Merci d'avance