From de6caf07f33beda0276dcdf176ed38bd7498ad50 Mon Sep 17 00:00:00 2001 From: miguel Date: Tue, 17 Jan 2023 17:42:26 +0000 Subject: [PATCH] fix(append-output): fix test and solution in order to create the file results.txt with some text inside already add info on the readme give the two files for the student to test their solution --- sh/tests/append-output_test.sh | 9 +++- sh/tests/solutions/append-output.sh | 8 ++++ subjects/devops/append-output/README.md | 11 ++++- subjects/devops/append-output/results.txt | 5 +++ subjects/devops/append-output/songs.txt | 55 +++++++++++++++++++++++ 5 files changed, 85 insertions(+), 3 deletions(-) create mode 100644 subjects/devops/append-output/results.txt create mode 100644 subjects/devops/append-output/songs.txt diff --git a/sh/tests/append-output_test.sh b/sh/tests/append-output_test.sh index b63a849c..6e7001dc 100755 --- a/sh/tests/append-output_test.sh +++ b/sh/tests/append-output_test.sh @@ -9,6 +9,13 @@ script_dirS=$(cd -P "$(dirname "$BASH_SOURCE")" &>/dev/null && pwd) if test ! -e append-output; then mkdir append-output + cat <append-output/results.txt +"In the End" - Linkin Park +"Crawling" - Linkin Park +"Elevation" - U2 +"Get the Party Started" - Pink +"Lady Marmalade" - Christina Aguilera, Lil' Kim, Mya, Pink +EOF cat <append-output/songs.txt "Breathe" - Faith Hill "It Wasn't Me" - Shaggy featuring Ricardo "RikRok" Ducent @@ -67,7 +74,6 @@ if test ! -e append-output; then "Always on Time" - Ja Rule featuring Ashanti EOF fi - challenge() { $(cd "$1" && bash "$script_dirS"/$FILENAME) submitted=$(cat $1/results.txt) @@ -76,6 +82,7 @@ challenge() { expected=$(cat $1/results.txt) diff <(echo "$submitted") <(echo "$expected") } + if [ -s ${FILENAME} ]; then if [[ $(cat $FILENAME | grep "cat <results.txt" | wc -l) -ne 0 ]]; then echo "cheating is not allowed in this exercise!" diff --git a/sh/tests/solutions/append-output.sh b/sh/tests/solutions/append-output.sh index ba4bb63e..6725525b 100755 --- a/sh/tests/solutions/append-output.sh +++ b/sh/tests/solutions/append-output.sh @@ -1 +1,9 @@ +# added this here to make the test cleaner +cat <results.txt +"In the End" - Linkin Park +"Crawling" - Linkin Park +"Elevation" - U2 +"Get the Party Started" - Pink +"Lady Marmalade" - Christina Aguilera, Lil' Kim, Mya, Pink +EOF cat songs.txt | grep "\- J" >>results.txt diff --git a/subjects/devops/append-output/README.md b/subjects/devops/append-output/README.md index 766ad711..e4612da6 100644 --- a/subjects/devops/append-output/README.md +++ b/subjects/devops/append-output/README.md @@ -4,13 +4,13 @@ Create a file `append-output.sh` that will get the output of a file and parse it, and then write it to a file with a specific format using a single command. -Get the content of the `songs.txt`, parse it with the `grep` command to filter the file in order to get all the songs from the artist whose names start with `J`, and write the output to the existing file `results.txt`, check the example below: +Get the content of the file `songs.txt`, parse it with the `grep` command to filter the file in order to get all the songs from the artist whose names start with `J`, and write the output to the existing file `results.txt`, check the example below: ### Usage ```console $ ls -songs.txt result.txt +append-output.sh songs.txt result.txt $ cat songs.txt "Breathe" - Faith Hill "It Wasn't Me" - Shaggy featuring Ricardo "RikRok" Ducent @@ -37,6 +37,11 @@ Expected output: ```console $ ./append-output.sh $ cat result.txt +"In the End" - Linkin Park +"Crawling" - Linkin Park +"Elevation" - U2 +"Get the Party Started" - Pink +"Lady Marmalade" - Christina Aguilera, Lil' Kim, Mya, Pink "All for You" - Janet Jackson "I Wanna Know" - Joe "I'm Real" - Jennifer Lopez @@ -49,6 +54,8 @@ $ cat result.txt $ ``` +> Only the script `append-output.sh` must be submitted! + ### Hints To add the output to a file with a specific format, you can use the `>>` operator to redirect the output of the command to a file, like this: diff --git a/subjects/devops/append-output/results.txt b/subjects/devops/append-output/results.txt new file mode 100644 index 00000000..6a235b61 --- /dev/null +++ b/subjects/devops/append-output/results.txt @@ -0,0 +1,5 @@ +"In the End" - Linkin Park +"Crawling" - Linkin Park +"Elevation" - U2 +"Get the Party Started" - Pink +"Lady Marmalade" - Christina Aguilera, Lil' Kim, Mya, Pink diff --git a/subjects/devops/append-output/songs.txt b/subjects/devops/append-output/songs.txt new file mode 100644 index 00000000..c35291b2 --- /dev/null +++ b/subjects/devops/append-output/songs.txt @@ -0,0 +1,55 @@ +"Breathe" - Faith Hill +"It Wasn't Me" - Shaggy featuring Ricardo "RikRok" Ducent +"Hanging by a Moment" - Lifehouse +"Shape of My Heart" - Backstreet Boys +"Thank You" - Dido +"I'm Like a Bird" - Nelly Furtado +"Family Affair" - Mary J. Blige +"Fallin'" - Alicia Keys +"All for You" - Janet Jackson +"I Wanna Know" - Joe +"U Remind Me" - Usher +"U Got It Bad" - Usher +"I'm a Believer" - Smash Mouth +"Get the Party Started" - Pink +"Wherever You Will Go" - The Calling +"In the End" - Linkin Park +"Loser" - Beck +"Get Ur Freak On" - Missy Elliott +"I'm Real" - Jennifer Lopez +"Butterfly" - Crazy Town +"Crawling" - Linkin Park +"I'm a Slave 4 U" - Britney Spears +"Elevation" - U2 +"Lady Marmalade" - Christina Aguilera, Lil' Kim, Mya, Pink +"Play" - Jennifer Lopez +"I'm Just a Kid" - Simple Plan +"Imitation of Life" - R.E.M. +"Big Pimpin'" - Jay-Z +"Stutter" - Joe featuring Mystikal +"I Wish" - R. Kelly +"This Is the Night" - Clay Aiken +"Hella Good" - No Doubt +"I Know" - Dionne Farris +"I'll Be Missing You" - Puff Daddy and Faith Evans featuring 112 +"I Try" - Macy Gray +"Thong Song" - Sisqo +"Survivor" - Destiny's Child +"I Want It That Way" - Backstreet Boys +"Bad Day" - Daniel Powter +"I'm Like a Bird" - Nelly Furtado +"I Need to Know" - Marc Anthony +"Follow Me" - Uncle Kracker +"Hemorrhage (In My Hands)" - Fuel +"Soak Up the Sun" - Sheryl Crow +"I Hope You Dance" - Lee Ann Womack +"Can't Get You Out of My Head" - Kylie Minogue +"I Just Wanna Love U (Give It 2 Me)" - Jay-Z +"My Love Is Your Love" - Whitney Houston +"Bounce with Me" - Lil' Bow Wow +"Where the Party At" - Jagged Edge +"I'm Already There" - Lonestar +"I Don't Want to Miss a Thing" - Aerosmith +"If You Could Read My Mind" - Stars on 54 +"My Way" - Usher +"Always on Time" - Ja Rule featuring Ashanti