IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Shell et commandes GNU Discussion :

Compter le nombre de champs (cut ?)


Sujet :

Shell et commandes GNU

  1. #1
    Expert éminent sénior
    Avatar de orafrance
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    15 967
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 15 967
    Points : 19 073
    Points
    19 073
    Par défaut Compter le nombre de champs (cut ?)
    bonjour,

    je suis en train de me battre pour essayer de compter le nombre de champs d'une ligne avec un séparateur

    Ex :
    toto;titi;; 3 champs (dont un vide )
    toto;tata;tutu;titi 4 champs.

    J'avais espérer que cut retourne une erreur quand on demande un numéro de champ inexistant mais non... on a juste un résultat vide

    Merci pour votre aide

  2. #2
    Modérateur
    Avatar de ggnore
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    2 472
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France

    Informations forums :
    Inscription : Juillet 2004
    Messages : 2 472
    Points : 4 029
    Points
    4 029
    Par défaut
    wc ?
    Toutes les vertus des hommes se perdent dans l’intérêt comme les fleuves se perdent dans la mer.
    N'oubliez pas de consulter les FAQ Linux et les cours et tutoriels Linux

  3. #3
    Membre du Club
    Inscrit en
    Juin 2004
    Messages
    39
    Détails du profil
    Informations forums :
    Inscription : Juin 2004
    Messages : 39
    Points : 46
    Points
    46
    Par défaut
    oui wc en definissant le separateur

    man wc

  4. #4
    Expert éminent sénior
    Avatar de orafrance
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    15 967
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 15 967
    Points : 19 073
    Points
    19 073
    Par défaut
    ha bah oui

    je croyais que ça ne comptais que les lignes

    Merci

  5. #5
    Futur Membre du Club
    Inscrit en
    Mai 2007
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 5
    Points : 5
    Points
    5
    Par défaut PHP SQL Champ
    Bonjour,

    je me suis interressé à ce message car j'ai moi même un problème concernant mysql.

    Voici le topo, j'ai une base avec 2 champs (année et mois) et 3 enregistrements :
    2007, avril
    2007, mai
    2008, avril

    J'aimerais créer un menu déroulant avec les enregistrements du champ 'année' c'est à dire avoir un menu déroulant avec indiqué à l'intérieur (2007,2008).

    J'ai fais une requete sql pour lister ma base de donnée et j'obtiens des résultats, malheureusement mon menu déroulant affiche (2007,2007,2008) (du fait que j'ai 3 enregistrements, cela s'explique).

    Ma question est la suivante : Comment lister une base de donnée et n'afficher que des valeurs différents (c'est à dire 2007,2008 et non 2007,2007,2008) ?

    Pour vous aider, voici mon code :
    Code PHP : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
     
    <?
    //connexion à ma base de donnée
    	mysql_connect("****", "*****", "******");
    	mysql_select_db("*****");
     
    //on liste la base de donnée
    	$reponse = mysql_query("SELECT * FROM base");
     
    //On créer le menu déroulant et on liste la base de donnée
    ?>
     
    <select size="1" name="Menu">
    	<?
    		while ($donnees = mysql_fetch_array($reponse) )
    			{
    				?>
    					<option><?php echo $donnees['année']; ?></option>
    				<?
    			}
    	?>
    </selected>

  6. #6
    Membre éclairé Avatar de BlaireauOne
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    492
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Mars 2007
    Messages : 492
    Points : 652
    Points
    652
    Par défaut
    Citation Envoyé par orafrance
    Nombre de champs d'une ligne avec un séparateur

    Ex :
    toto;titi;; 3 champs (dont un vide )
    toto;tata;tutu;titi 4 champs.

    Selon moi, les 2 enregs ci-dessus contiennent chacun 4 champs.
    Le 1er contient 4 champs dont les 2 derniers sont vides.

    Si tu veux gérer le cas d'enregs mal structurés (plus ou moins de 4 champs) et le test de champ(s) vide(s), solution suivante :

    Exemple de fichier :
    toto;tutu;
    toto;titi;;
    toto;tata;tutu;titi


    Script awk :
    http://lea-linux.org/cached/index/Dev-awk.html#
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    awk -F";" '
    {
    	if (NF != 4) {
    		print "*** sur Record "NR" : "NF" champs presents !!!" | "cat 1>&2"
    		next
    	}
    	if ($4 == "") {
    		print "*** sur Record "NR" : champs n° 4 vide !!!" | "cat 1>&2"
    		next
    	}
    	print $0 
    } '  test.txt > result.txt

    Message sur la sortie d'erreur (stderr) :
    *** sur Record 1 : 3 champs presents !!!
    *** sur Record 2 : champs n° 4 vide !!!


    result.txt :
    toto;tata;tutu;titi
    Loi de Murphy:
    La Théorie c'est quand ça ne marche pas mais que l'on sait pourquoi.
    La Pratique c'est quand ça marche mais qu'on ne sait pas pourquoi.
    Quand la théorie rejoint la pratique ça ne marche pas et on ne sait pas pourquoi.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Compter le nombre de champs d'une structure
    Par o_live dans le forum Débuter
    Réponses: 5
    Dernier message: 02/03/2008, 17h16
  2. Compter le nombre de champs dans un formulaire dynamique.
    Par rpgmax dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 20/02/2008, 15h12
  3. Compter le nombre de champs d'une table
    Par alexsimps dans le forum SQL Procédural
    Réponses: 1
    Dernier message: 22/07/2007, 08h03
  4. Requete pour compter le nombre de champs
    Par kichemans dans le forum Requêtes
    Réponses: 4
    Dernier message: 24/04/2006, 14h12
  5. compter un nombre de champ lié
    Par laurent05 dans le forum Langage SQL
    Réponses: 2
    Dernier message: 14/04/2006, 16h44

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo