Questions de cours

Bonsoir, mon prof nous a demandé de préparer quelques question mais j'suis un peu perdu

Question 1)

Dans la commande " grep "[ACTG,]\{3,\}" Danio_rerio.vcf ", à quoi sert la virgule dans la plage de caractère [ACTG,] ?

Question 2)

On a un fichier avec plusieurs lignes, et il faut que l'on affiche seulement les 5 premiers colonnes du chromosome 16. A savoir que ce chromosome 16 est spécifié par les ligne commençant par le nombre 16.

Voilà, pour la 1) j'ai essayé avec un fichier txt que j'ai créer moi mais à chaque fois, avec ou sans la virgule, le résultat était le même.
Et pour la 2), je pense qu'il faut utiliser la fonction " grep "^16" "dans laquelle il faut mettre la fonction " cut -d " pour la sélection des colonnes, mais je n'ai pas réussi.

1 réponse

  1. Contributeur
    Salut,

    Pourrais-tu nous fournir un exemple de fichier sur lequel s'appuyer ?

    Sinon... pour ta question 1, la réponse est dans le
    man grep
    .
    Et pour la 2, la réponse est en partie dans l'exemple cité dans ta question 1.
    1. Je n’ai malheureusement pas le fichier sur moi,

      J’ai déjà cherché dans le man grep, mais je n’ai rien trouver..
    2. Contributeur
      @oyuktaExtrait man grep :

      Classes de caractère et expressions entre crochets
      Une liste de caractères, encadrée par [ et ] peut être mise en correspondance avec n'importe quel caractère appartenant à la liste. Si le premier caractère de la liste est l'accent circonflexe ^ alors la mise en correspondance se fait avec n'importe quel caractère absent de la liste. Par exemple, l'expression rationnelle [0123456789] concorde avec n'importe quel chiffre.

      Entre ces crochets, un intervalle de caractères peut être indiqué en donnant le premier et le dernier caractère, séparés par un tiret. Il correspond à n'importe quel caractère compris entre le premier et le dernier caractère (ceux-ci inclus), l'ordre des caractères dépendant des paramètres régionaux (locale, en anglais) en cours. Ainsi, avec la valeur par défaut (appelée « C »), [a-d] est équivalent à [abcd]. Avec beaucoup de paramètres régionaux, les caractères sont triés en suivant l'ordre des dictionnaires, et [a-d] n'est alors pas équivalent à [abcd], mais à [aBbCcDd], par exemple. Pour que ces listes aient le comportement usuel de C, vous pouvez positionner la variable d'environnement LC_ALL à la valeur C.


      Sans exemple précis, difficile de t'aider à 100% ;-(
    3. Merci pour votre réponse, mais je vois pas en quoi cela répond à ma question.. Je voulais savoir l’utilité de la virgule dans les crochets, mais cet extrait parle des tirés..
    4. Contributeur
      @oyuktaExtrait de l'extrait du man :

      Une liste de caractères, encadrée par [ et ] peut être mise en correspondance avec n'importe quel caractère appartenant à la liste.