diff --git a/Regex/run b/Regex/run index a0aae09..5c39713 100644 --- a/Regex/run +++ b/Regex/run @@ -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 \ No newline at end of file diff --git a/Regex/task.yaml b/Regex/task.yaml index f16dd12..244495b 100644 --- a/Regex/task.yaml +++ b/Regex/task.yaml @@ -1,7 +1,7 @@ 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 : @@ -9,7 +9,7 @@ context: |- 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:: @@ -21,8 +21,6 @@ context: |- Votre objectif sera d'extraire certaines informations à l'aide de regex. - - environment_id: default environment_parameters: limits: @@ -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: .*