Successivo: , Precedente: , Su: Separatori di campo   [Contenuti][Indice]


4.5.3 Fare di ogni carattere un campo separato

Ci sono casi in cui si abbia la necessità di analizzare ciascun carattere di un record separatamente. Questo si può fare in gawk semplicemente assegnando la stringa nulla ("") a FS. (e.c.) In questo caso, ogni singolo carattere nel record diventa un campo separato. Per esempio:

$ echo a b | gawk 'BEGIN { FS = "" }
>                  {
>                      for (i = 1; i <= NF; i = i + 1)
>                          print "Il campo", i, "è", $i
>                  }'
-| Il campo 1 è a
-| Il campo 2 è
-| Il campo 3 è b

Tradizionalmente, il comportamento di FS quando è impostato a "" non è stato definito. In questo caso, la maggior parte delle versioni UNIX di awk trattano l’intero record come se avesse un unico campo. (a.b.) In modalità di compatibilità (vedi la sezione Opzioni sulla riga di comando), se FS è la stringa nulla, anche gawk si comporta in questo modo.