Oui.
En montant ton fichier des tables dans un tableau.
Par exemple :
<fichier_table>
idtab1;lien1;job1
idtab2;lien2;job2
<fichier_cols>
job1;lien1;col1;colonne n°1
job1;lien1;col2;colonne n°2
job1;lien1;col3;colonne n°3
job2;lien2;col1;colonne n°1
job3;lien3;col1;test vide
Commande awk :
Code :
- awk -F';' -v FICTAB=./fichier_table '\
- BEGIN {
- OFS = FS
- while ((getline < FICTAB) > 0)
- {
- cle=$3"#"$2
- ARRAY_KEYS[cle]=1
- ARRAY_ID[cle]=$1
- }
- }
- {
- testcle=$1"#"$2
- IDTABLE=""
- if ( testcle in ARRAY_KEYS ) { IDTABLE=ARRAY_ID[testcle] }
- print $1 FS $2 FS $3 FS IDTABLE FS $4
- }' ./fichier_cols > ./fichier.out
|
Résultat :
<fichier.out>
job1;lien1;col1;idtab1;colonne n°1
job1;lien1;col2;idtab1;colonne n°2
job1;lien1;col3;idtab1;colonne n°3
job2;lien2;col1;idtab2;colonne n°1
job3;lien3;col1;;test vide
Dans cet exemple, si on ne trouve pas de référence, on met NULL dans la colonne en sortie id_table
---------------
Il n'est qu'une seule chose qui excite les animaux plus que le plaisir, et c'est la douleur.