Bonjour,
Dans le cadre de mon travail, j'essaie de comprendre le script ci-dessous. Mais je débute en shell et en awk. Pourriez-vous m'aider notamment à comprendre la dernière ligne de ce script qui lit un fichier csv dont les lignes sont du type :
prenoms;nombre;sexe;annee
Jessy;6;X;2005
Joana;7;F;2005
Joseph;75;M;2005
Judith;19;F;2005

Je vous remercie par avance

Script :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
 
#/bin/bash
 
if [ $# -ne 1 ]; then
    echo "error: usage $0 " 1>&2
    echo "returns an average line of the input file" 1>&2
    exit 1
fi
 
input=$1; shift
size=`wc -l $input | awk '{print $1}'`
TIME=`date +%s`
 
awk 'BEGIN{srand(ARGV[3]); line=int(rand() * (ARGV[2])) + 1; ARGC-=2}NR==line{print}' $input $size $$