Skip to content

Commit

Permalink
continue regex exercice
Browse files Browse the repository at this point in the history
  • Loading branch information
romaincarlier4 committed Oct 26, 2023
1 parent 4962862 commit ad8ba09
Show file tree
Hide file tree
Showing 2 changed files with 41 additions and 10 deletions.
35 changes: 34 additions & 1 deletion Regex/run
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,39 @@ if [ $output1==$good_output1 ]; then
feedback-result --id regex1 success
feedback-msg -em "Bravo"
else
feedback-result failed
feedback-result --id regex1 failed
feedback-msg -em "Résultat de votre programme : $output1"
fi

output2=$(grep -oP $regex2 apache.log)
good_output2=$(grep -oP '\[.*?\]' apache.log)

if [ $output2==$good_output2 ]; then
feedback-result --id regex2 success
feedback-msg -em "Bravo"
else
feedback-result --id regex2 failed
feedback-msg -em "Résultat de votre programme : $output2"
fi

output3=$(grep -oP $regex3 apache.log)
good_output3=$(grep -oP '"GET\s.*?"' apache.log)

if [ $output3==$good_output3 ]; then
feedback-result --id regex3 success
feedback-msg -em "Bravo"
else
feedback-result --id regex3 failed
feedback-msg -em "Résultat de votre programme : $output3"
fi

output4=$(grep -oP $regex4 apache.log)
good_output4=$(grep -oP '^.*200.*$' apache.log)

if [ $output4==$good_output4 ]; then
feedback-result --id regex4 success
feedback-msg -em "Bravo"
else
feedback-result --id regex4 failed
feedback-msg -em "Résultat de votre programme : $output4"
fi
16 changes: 7 additions & 9 deletions Regex/task.yaml
Original file line number Diff line number Diff line change
@@ -1,15 +1,15 @@
author: Romain Carlier
contact_url: ''
context: |-
Dans cet exercice, votre objectif sera d'extraire des informations intéressantes d'un fichier de log. C'est pour ce genre de tâche que les expressions régulières (regex) peuvent être utiles.
Dans cet exercice, votre objectif sera d'extraire des informations intéressantes d'un fichier de logs. C'est pour ce genre de tâche que les expressions régulières (regex) peuvent être utiles.
Le fichier de log que vous avez à votre disposition est structuré comme suit :
.. code::
IP - USER_ID [DATE] "HTTP_METHOD URL HTTP_VERSION" CODE SIZE
Par exemple, une ligne valide du fichier de log ressemble à celà :
Par exemple, plusieurs lignes valides du fichier de log ressemblent à cela :
.. code::
Expand All @@ -21,8 +21,6 @@ context: |-
Votre objectif sera d'extraire certaines informations à l'aide de regex.
environment_id: default
environment_parameters:
limits:
Expand All @@ -46,18 +44,18 @@ problems:
type: code_single_line
language: bash
name: timestamps
header: Insérez ici votre regex pour extraire tous les timestamps
header: Insérez ici votre regex pour extraire tous les timestamps (avec les [])
default: .*
regex3:
type: code_single_line
language: bash
name: GET requests
header: Insérez ici votre regex pour extraire toutes les requêtes GET
header: Insérez ici votre regex pour extraire toutes les requêtes GET (uniquement ce qu'il y a entre "")
default: .*
regex4:
type: code_single_line
language: bash
name: successful GET requests
header: Insérez ici votre regex pour extraire toutes les requêtes GET qui
ont un code de retour 200
name: successful requests
header: Insérez ici votre regex pour extraire toutes les requêtes qui
ont un code de retour 200 (lignes complètes)
default: .*

0 comments on commit ad8ba09

Please sign in to comment.