Somme d'une colonne et date min et max
Bonjour,
J'ai un fichier contenant les infos suivantes:
serveur; info, info, date heure debut1, date heure de fin1, val1, type1
serveur; info, info, date heure debut2, date heure de fin2, val2, type2
serveur; info, info, date heure debut3, date heure de fin3, val3, type3
J'ai besoin de sortir :
- la plus petite date heure de début
- la plus grande date heure de fin
- la somme des val
- la concaténation des types
J'envoie les commandes suivantes:
- date heure de début :
cat fichier | awk -F';' '{ print $4 }' | sort | head -1
- date heure de fin :
cat fichier | awk -F';' '{ print $5 }' | sort | tail -1
- somme :
awk -F";" '{total += $6 } END{print total;}' fichier
- concaténation:
awk -F';' '{ print $7 }' fichier | sort -u | awk 'BEGIN { FS=" "; ORS=" "}{ print $1 }' | sed 's/[ ]*$//' echo "$serveur; $datemin; $datemax; somme; $concat
Y-a-t'il moins lourd selon vous ?
Merci de votre aide.
Bonne journée.
A voir également:
- Somme d'une colonne et date min et max
- Formule somme excel colonne - Guide
- Déplacer une colonne excel - Guide
- Trier une colonne excel - Guide
- Colonne word - Guide
- Somme si couleur - Guide
3 réponses
Bonjour,
Peux-tu donner un petit exemple de fichier (quitte à l'anonymiser) et le résultat attendu ? As-tu des contraintes en terme de langage (t'autorises-tu par exemple le python) ? Ton programme consisterait à :
- Charger une et une seule fois le fichier (par exemple avec le module csv),
- Construire une structure de données pratique,
- En particulier, la comparaison de date n'est pas celle de la comparaison de chaîne, par exemple 2023-1-3 précède 2023-1-12 et 2023-3-1 précède 2023-12-1. Pour éviter ce genre de problème en python, on passerait par une structure datetime.datetime.
- Calculer et retourner les résultats demandés.
Bonne chance