[Précédent (date)] [Suivant (date)] [Précédent (sujet)] [Suivant (sujet)] [Index par date] [Index par sujet]
awk
- To:
- Subject: awk
- From: Stagiaire GSI <>
- Date: Mon, 19 Jan 2004 11:51:59 +0100
- User-agent: Mozilla/5.0 (X11; U; Linux i686; de-DE; rv:1.4.1) Gecko/20031030
Bonjour à tous.
Je dispose du fichier suiivant :
GenuineIntel-0
GenuineIntel-1
GenuineIntel-2
Pentium III (Cascades)-0
Pentium III (Cascades)-1
Pentium III (Cascades)-2
700.107-0
700.107-1
700.107-2
2048 KB-0
2048 KB-1
2048 KB-2
1386.08-0
1399.19-1
1399.19-2
Je veux obtenir ceci :
XYZ GenuineIntel-0
XYZ Pentium III (Cascades)-0
XYZ 700.107-0
XYZ 2048 KB-0
XYZ 1386.08-0
XYZ GenuineIntel-1
XYZ Pentium III (Cascades)-1
XYZ 700.107-1
XYZ 2048 KB-1
XYZ 1399.19-1
XYZ GenuineIntel-2
XYZ Pentium III (Cascades)-2
XYZ 700.107-2
XYZ 2048 KB-2
XYZ 1399.19-2
Où X, Y et Z sont des valeurs égales ou supérieures à 100
awk me semble indiqué pour faire ce que je désire, j'ai donc écrit ceci :
awk '
BEGIN {
nb_crit=5 # nombre de criteres
nb_proc=3 # nombre de processeurs
x=100 # processeur
y=100 # indice
z=100 # type de materiel
}
{ for( i = 1; i <= nb_crit; i++)
{
for( j = 1; j <= nb_proc; j++)
{
printf( "%s%s%s $0\n",x,y+j,z+i )
}
}
}
' < $tmp >> $reel
Je veux donc réordonner les lignes de tmp en ajoutant un champs devant chacune, mais mon fichier résultant ($reel) est beaucoup plus volumineux que le fichier d'entrée ($tmp). Toutes les itérations des boucles s'effectuent sur chaque ligne de tmp. Moralité, le nombre de lignes de reel est égal au carré du nombre de lignes de tmp.
Qui peut m'aider ?
Merci d'avance.