Bonjour

j'ai un fichier qui se présente avec des lignes qui n'ont pas un NF fixe, car un des champs (le nom, ici en $3 en première ligne) est parfois composé d'espaces :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
abc  2Dtoto    nom1               2    2019aaa
def  2Dtiti    nom2 ext           -4   2019bbb	
ghi  2Dtutu    nom3 extA extB     3    2019ccc
Je souhaite extraire ce nom en totalité. J'ai tenté via index, en tentant d'extraire les données entre le début du $3 et le celui de l'avant dernier champ (NF-1) moins 1 position, çad avec index et un calcul de longueur adéquate :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
nom = substr($0,index($0,$3),index($0,$(NF-1))-index($0,$3)-1)
Malheureusement, ça ne marche pas pour la ligne 1 et la ligne 3 : l'index trouve l'occurrence de $(NF-1) [='2' ou '3' pour ces lignes] bien avant cette position (càd en $2 et $3 respectivement).
Question : n'y a-t-il pas un moyen de connaitre les position dans $0 de chaque champ $i (de 1 à NF) ?

Merci pour toute idée