• [^] # Re: awk avec précautions

    Posté par . En réponse au message [boulot] script pour récupérer des données. Évalué à 2.

    mon fichier est construit un peu différemment en fait :

    Pourquoi tu l’as présenté comme tu l’as fait alors ? o_O

    C’est bien d’un document Excel dont on parle ? Dans ce cas la première étape c’est de l’exporter en CSV... Et nous montrer exactement (en utilisant les bonnes balises : https://linuxfr.org/wiki/aide-edition#code ) à quoi il ressemble ;)

    NB : il manquait les ; ?

    Oui, avant chaque instruction 'next'...

    Pour en revenir à la première apostrophe manquante, le fait que tu aies '>' (il s’agit du prompt de deuxième niveau...) devrait te mettre sur la voie. En effet, si le shell te met ça c’est qu’il attend la suite de la commande ! Vu que la première apostrophe indique le début d’une chaîne de caractères non-interprétée, quand tu appuies sur entrée il considère que tu veux entrer un caractère "fin de ligne" dans cette chaîne et pas valider la commande (ce à quoi tu t’attendais)

    Pour comprendre c’est très simple, essaye :

    $ echo 'toto

    tu vas arriver sur le prompt de deuxième niveau, là tu rentres :

    > titi'

    (note que dans la première commande '$' désigne le prompt de premier niveau, il ne faut pas le taper. Dans la deuxième commande '>' représente le prompt de deuxième niveau, il ne faut le taper non plus...). C’est configurable (pas obligé d’utiliser '$' et '>') mais par convention c’est ce qui est utilisé partout...

    en sortie tu auras :

    toto
    titi
    

    avec un retour à la ligne entre les deux mots. Tu as rentré sur deux lignes une commande qu’on aurait pu écrire sur une ligne : $ echo "toto\ntiti" (entre les guillemets doubles la suite de deux caractères \n représente le caractère "fin de ligne")