[Précédent (date)] [Suivant (date)] [Précédent (sujet)] [Suivant (sujet)] [Index par date] [Index par sujet]

awk



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.