Bonjour !
J'ai besoin de compter les champs d'un fichier séparés par des tabulations.
Par exemple avec ce fichier contact :
Pour extraire les champs j'utilise le script suivant :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 nom tel cp ville DUPONT 13100 MARSEILLE DUPONT 0123456 MARSEILLE DURAND TINTIN
Problème : ce script retrouve 1 ou 3 champs par ligne, alors que les deux premières comprennent 4 champs séparés par des tabulations. Le champ vide est donc ignoré.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 #!/bin/bash cat $1 | while read ligne do i=0 for champ in $ligne do i=$(( $i + 1 )) echo Champ n°$i : $champ done done
La commande cut -f $n permet bien d'extraire chaque champ y compris les champs vides mais il faut indiquer le numéro du champs. Il faudrait alors faire une boucle pour compter le nombre de champs, car sinon la boucle s'arrêtera à la fin du fichier et non pas de la ligne... là encore je ne sais pas comment faire.
Merci de l'aide,
Thibaud.
Partager