Bonjour

avec awk, je dois lire un fichier dont les séparateurs d'entrée (FS) sont soit des espaces, soit des virgules. J'ai donc défini dans mon code :
Hélas, comme j'ai aussi des espaces avant le premier champ, quand je tente de lire $1, il me renvoie un résultat nul, le premier champ apparaissant en $2. En effet, "If `FS' is any other single character, such as `","', then each occurrence of that character separates two fields. Two consecutive occurrences delimit an empty field. If the character occurs at the beginning or the end of the line, that too delimits an empty field. The space character is the only single character which does not follow these rules."
(https://docs.freebsd.org/info/gawk/g...eparators.html)
Plus bas dans le doc, on lit bien qu'avec le FS par défaut (càd space) les premiers espaces ne sont pas lus, mais dès qu'on indique en dur FS = " ", il prend le(s) premier(s) espace(s) comme le champ $1 : " There is an important difference between the two cases of `FS = " "' (a single blank) and `FS = "[ \t]+"' ... "

Comme j'ai des fichiers qui peuvent avoir des espaces en premières colonnes ou pas (càd commençant avec de suite une valeur qui est donc en $1), je ne peux extraire le premier champ en $2 forcément. Je suis bien embêté.
Qqn saurait-il comment rédiger ce FS, et si possible pas en script (càd -F"....") mais dans un BEGIN
Merci !