Bonjour,
J'ai un fichier contenant plusieurs (séparées par un retour chariot donc). Chaque ligne est constituée de plusieurs champs, le séparateur de champ étant | (barre verticale). Certains champs peuvent être vides.
Mon objectif : compter le nombre de champs, y compris les champs vides.
J'ai d'abord essayé avec une commande AWK (inspirée ce qu'il y a ici) :
Le problème est que les champs vides ne sont pas comptés...cat conversion.txt | awk -F "|" '{ print "Ligne n" NR " il y a " NF " champs" ; } '
Je me suis donc mis en tête de compter le nombre de caractères | par ligne, mais ce n'est pas très fructueux... Je pense en être pas loin avec ça :
mais le wc -l se fait sur tout et non pour la ligne en cours. J'obtiens donc un magnifique 417, le nombre total de | du fichiercat conversion.txt.bak | xargs -I varligne echo varligne | grep -o "|" | wc -l
Si quelqu'un a une idée pour m'aiguiller, je serai très content !
Merci d'avance !
Partager