#!/bin/bash

# Encore une autre version du script "column totaler" (col-totaler.sh)
# qui ajoute une colonne spécifiée (de nombres) dans le fichier cible.
#  Il utilise l'environnement pour passer une variable de script à 'awk'...
#+ et place le script awk dans une variable.

ARGS=2
E_MAUVAISARGS=65

if [ $# -ne "$ARGS" ] # Vérifie le bon nombre d'arguments de la ligne de
	              # commande.
then
   echo "Usage: `basename $0` nomfichier numéro_colonne"
   exit $E_MAUVAISARGS
fi

nomfichier=$1
numero_colonne=$2

#===== Identique au script original, jusqu'à ce point =====#

export numero_colonne
#  Exporte le numéro de colonne dans l'environnement de façon à ce qu'il soit
#+ disponible plus tard.


# ------------------------------------------------
awkscript='{ total += $ENVIRON["numero_colonne"] }
END { print total }' $nomfichier
# Oui, une variable peut contenir un script awk.
# ------------------------------------------------

# Maintenant, exécute le script awk
awk "$awkscript" "$nomfichier"


# Merci, Stephane Chazelas.

exit 0
