Cmde recherche de caracteres dans 1 chaine ?

Résolu
Bonjour,

Je cherche une commande unix qui teste l'existence d'une chaine de caracteres dans une autre chaine.
Cette commande existe -t-elle ? ou comment faire celà autrement ?

Exemple :
j'ai une variable qui contient une phrase et je veux savoir s'il y a un mot particulier dans cette phrase.

Toute idée sera appréciable. Merci.
Configuration: Windows XP
Firefox 2.0

2 réponses

  1. Modérateur
    Salut,

    par exemple
    root@debian:~# echo "je veux savoir s'il y a un mot particulier dans cette phrase" | grep -o 'mot' >/dev/null && echo 'mot existe dans la phrase'
    mot existe dans la phrase
    root@debian:~#
    1. Merci de ta réponse rapide :), mais la commande ne fonctionne pas car l'option -o n'est pas reconnue.

      J'ai oublié de préciser que j'utilisais Solaris.
    2. A quoi sert l'option grep -o ?

      Il se peut qu'il y aiit une autre option faisant la même chose sous Solaris.

      A priori, voilà les options que j'ai :
      NAME
      grep - search a file for a pattern

      SYNOPSIS
      /usr/bin/grep [-bchilnsvw] limited-regular-expression
      [filename...]

      /usr/xpg4/bin/grep [-E | -F] [-c | -l | -q] [-bhinsvwx]
      -e pattern_list... [-f pattern_file]... [file...]

      /usr/xpg4/bin/grep [-E | -F] [-c | -l | -q] [-bhinsvwx]
      [-e pattern_list...] -f pattern_file... [file...]

      /usr/xpg4/bin/grep [-E | -F] [-c | -l | -q] [-bhinsvwx]
      pattern [file...]
  2. Modérateur
    Salut,
    grep 'mot_a_chercher' <<< $variable
    Voir aussi recherche char dans variable
    ;-))
    1. Merci pour ta réponse jicipy,

      Mais j'ai essayé ta solution et j'ai un pb avec les 3 "<<<" ...

      ./mon script.sh: syntax error at line 21: `<' unexpected

      Je suis sous Solaris, c'est peut-être la raison.
    2. Modérateur
      @Willy13
      echo $var | grep 'mot_a_chercher'
    3. @jipicyCa marche !
      Merci beaucoup ! :)

      Bonne journée.