Champ (et enregistrement)
Champ (en anglais field) : morceau d'un enregistrement (record, une ligne par défaut) compris entre deux séparateurs. Selon l'outil, le séparateur est un caractère unique, et deux séparateurs consécutifs délimitent alors un champ vide (cut -d,, awk -F,, IFS=, read), ou une suite de blancs, qui compte pour un seul séparateur, les blancs de début et de fin étant ignorés (le découpage par défaut d'awk et de sort -b). Confondre les deux règles décale les numéros de colonnes : cut -d' ' sur la sortie de ls -l en est l'exemple classique.
awk numérote les champs $1, $2... $NF, garde l'enregistrement entier dans $0 et le reconstruit avec OFS quand on modifie un champ ; RS choisit ce qui sépare les enregistrements. Un format où un champ peut contenir le séparateur (CSV avec guillemets, JSON) ne se découpe pas par caractère : il faut un outil qui connaît le format.
Dans les cours
- Traiter du texte : grep, sed, awk, jq, leçon 1 : Penser en flux : lignes, champs et petits outils
- Traiter du texte : grep, sed, awk, jq, leçon 5 : awk : un langage pour les lignes et les champs
- Traiter du texte : grep, sed, awk, jq, leçon 6 : awk : agréger, joindre et produire un rapport