Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 04/10/2019, à 11:17

Oliv83200

[Résolu]Modification d'un CSV en bash

Bonjour,
Je tente désespérément de faire un script bash me permettant d'un fichier CSV de ce type:

"hostname";"A"
"hostname";"B"
"ipAddress";"192.168.1.1"
"ipAddress";"192.168.1.2"
"hostname";"C"
"ipAddress";null
"ipAddress";"192.168.1.3"
"hostname";"D";
"ipAddress";"192.168.1.4"
"hostname";"E";
"ipAddress";"192.168.1.5"
"ipAddress";"192.168.1.6"
"ipAddress";"192.168.1.7"

En:

"hostname";"ipAddress"
"B";"192.168.1.1"
"B";"192.168.1.2"
"C";"192.168.1.3"
"D";"192.168.1.4"
"E";"192.168.1.5"
"E";"192.168.1.6"
"E";"192.168.1.7"

C'est à dire que lorsque le hostname n'est pas suivi d'une ipAddress je ne le prends pas en compte, tant qu'il y a une ipAddress elle doit être précédée du hostname et enfin si le champs est null, je ne dois pas le prendre en compte.
Je suis un noob en scripting, je m'arrache les cheveux dessus depuis un moment en faisant des boucles à tout va, des awk mais je crois finalement que je me perds toujours plus.
Si vous pouvez juste m'aider afin que je comprenne la logique pour m'améliorer.
Je vous remercie.

Dernière modification par Oliv83200 (Le 08/10/2019, à 14:44)

Hors ligne

#2 Le 04/10/2019, à 12:28

pingouinux

Re : [Résolu]Modification d'un CSV en bash

Bonjour,
Essaye ceci :

awk -F";" '
     BEGIN{OFS=";";H="\"hostname\"";I="\"ipAddress\"";print H,I}
     {
       if($1==H)host=$2
       if($1==I && host && $2!="null") print host,$2
     }
' fichier.csv

Hors ligne

#3 Le 04/10/2019, à 14:40

Oliv83200

Re : [Résolu]Modification d'un CSV en bash

yikes yikes yikes yikes
Ca fonctionne.... C'est si simple vu comme ça.
Et moi qui faisait des boucles à tout va... la en 6 lignes c'est résolu.
Un grand merci.

Dernière modification par Oliv83200 (Le 04/10/2019, à 14:40)

Hors ligne

#4 Le 04/10/2019, à 16:00

pingouinux

Re : [Résolu]Modification d'un CSV en bash

Si ça te convient, merci de modifier ton premier message et d'ajouter [Résolu] dans le titre.

Hors ligne