Recuperer le dernier mots (korn shell)

tuco -  
dubcek Messages postés 18627 Date d'inscription   Statut Contributeur Dernière intervention   -
Bonjour tt lmonde,

j'ai besion de developper un scrit qui reçoi un ensemble de parametres en entrée et j'aimerai récupérer le dernier mots dans un message texte représenté par l'un des paramètres (on va dire $3). je doit développer le script en .ksh

merci
Configuration: Windows XP
Firefox 3.0.8

3 réponses

  1. dubcek Messages postés 18627 Date d'inscription   Statut Contributeur Dernière intervention   5 659
     
    hello
    echo $3 | awk '{print $NF}'
    affiche le dernier mot de $3
    0
    1. tuco
       
      merci bcp dubcek pr ta reponse, ça marche
      j'aimerai savoir si tu pouvai m'aider sur mon script
      o fait, le script reçoi plusieur parametres:
      $1 --> "aaa/zzz/eee rrr|tttt 5 : yyy|uuu/iii/ooo|ppp|qqq(sss) = 23"
      $2 --> "1" ou "2" ou "3"
      $3 --> "true"
      .
      .
      . (d'autres parametres)

      je voudrai recuperer du $1 : "ooo" "5" "qqq(sss)" et "23" (pour 23 c'est la reponse que tu ma donné)
      et pour $2 transformer "1" en "yes", "2" en "NO" et "3" en "maybe"

      et metre tous ceci dans un tableau qui s'affiche a l'execution du script
      --------------------------------------------
      date | host | a | b | c | d | e |
      ------------------------------------------
      | | | | | | |

      l'ordre n'est pas important

      merci

      cdlt
      0
  2. dubcek Messages postés 18627 Date d'inscription   Statut Contributeur Dernière intervention   5 659
     
    hello
    enlever l'espace après et avant [ ]

    echo "aaa/zzz/eee rrr|tttt 5 : yyy|uuu/iii/ooo|ppp|qqq(sss) = 23" | awk '{split($5, x, "[ /\| ]") ; print x[4], $3, x[6], $NF}'
    ooo 5 qqq(sss) 23
    
    echo $2 | awk '/1/ {s="yes"} ; /2/ {s="NO" } ; /3/ {s="maybe"}  ; END{print s}'
    
    0
    1. tuco
       
      ça ma beaucoup aidé, merci
      jai une ptite question sur le tableau
      comment fair pour attribuer un nombre de caractere à une colone,
      je m'explique: je veu par exemple mettre un nombre dans une case d'un tableu, et je ne sais pas de combien de chiffres est composé, (exp "5" ou "3654" ou "23" ), les case d'une ligne sont separé par "|" et je ne veu pas que "|" dépasse si j'ai un nombre de 3 ou 4 caractere

      merci
      0
  3. dubcek Messages postés 18627 Date d'inscription   Statut Contributeur Dernière intervention   5 659
     
    x=3
    printf("%5d\n", x)

    x s'affche sur 5 position

    echo | awk '{x=1 ; y=123 ; printf("%5d|%5d\n",x,y)}'
        1|  123
    
    0