Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions jq/script-01.sh
Original file line number Diff line number Diff line change
Expand Up @@ -5,3 +5,6 @@ set -euo pipefail
# The input for this script is the person.json file.
# TODO: Write a command to output the name of the person.
# Your output should be exactly the string "Selma", but should not contain any quote characters.

cd jq
jq -r '.name' person.json
2 changes: 2 additions & 0 deletions jq/script-02.sh
Original file line number Diff line number Diff line change
Expand Up @@ -5,3 +5,5 @@ set -euo pipefail
# The input for this script is the person.json file.
# TODO: Write a command to output the address of the person, all on one line, with a comma between each line.
# Your output should be exactly the string "35 Fashion Street, London, E1 6PX", but should not contain any quote characters.
cd jq
jq -r '.address | join (", ")' person.json
2 changes: 2 additions & 0 deletions jq/script-03.sh
Original file line number Diff line number Diff line change
Expand Up @@ -5,3 +5,5 @@ set -euo pipefail
# The input for this script is the person.json file.
# TODO: Write a command to output the name of the person, then a comma, then their profession.
# Your output should be exactly the string "Selma, Software Engineer", but should not contain any quote characters.
cd jq
jq -r '"\(.name), \(.profession)"' person.json
3 changes: 3 additions & 0 deletions jq/script-04.sh
Original file line number Diff line number Diff line change
Expand Up @@ -6,3 +6,6 @@ set -euo pipefail
# TODO: Write a command to output just the names of each player, one per line.
# Your output should contain 6 lines, each with just one word on it.
# Your output should not contain any quote characters.

cd jq
jq -r '.[].name' scores.json
3 changes: 3 additions & 0 deletions jq/script-05.sh
Original file line number Diff line number Diff line change
Expand Up @@ -5,3 +5,6 @@ set -euo pipefail
# The input for this script is the scores.json file.
# TODO: Write a command to output the names of each player, as well as their city.
# Your output should contain 6 lines, each with two words on it.

cd jq
jq -r '.[] | "(\.name),\(.city)"' scores.json;
2 changes: 2 additions & 0 deletions jq/script-06.sh
Original file line number Diff line number Diff line change
Expand Up @@ -6,3 +6,5 @@ set -euo pipefail
# TODO: Write a command to output just the names of each player along with the score from their first attempt.
# Your output should contain 6 lines, each with one word and one number on it.
# The first line should be "Ahmed 1" with no quotes.
cd jq
jq -r '.[] | "(\(.name), \(.scores[0]))"' scores.json
3 changes: 3 additions & 0 deletions jq/script-07.sh
Original file line number Diff line number Diff line change
Expand Up @@ -6,3 +6,6 @@ set -euo pipefail
# TODO: Write a command to output just the names of each player along with the score from their last attempt.
# Your output should contain 6 lines, each with one word and one number on it.
# The first line should be "Ahmed 4" with no quotes.

cd jq
jq -r '.[] | "(\(.name), \(.scores[-1]))"' scores.json
3 changes: 3 additions & 0 deletions jq/script-08.sh
Original file line number Diff line number Diff line change
Expand Up @@ -6,3 +6,6 @@ set -euo pipefail
# TODO: Write a command to output just the names of each player along with the number of times they've played the game.
# Your output should contain 6 lines, each with one word and one number on it.
# The first line should be "Ahmed 3" with no quotes.

cd jq
jq -r '.[] | "(\(.name), \(.scores| length))"' scores.json
3 changes: 3 additions & 0 deletions jq/script-09.sh
Original file line number Diff line number Diff line change
Expand Up @@ -6,3 +6,6 @@ set -euo pipefail
# TODO: Write a command to output just the names of each player along with the total scores from all of their games added together.
# Your output should contain 6 lines, each with one word and one number on it.
# The first line should be "Ahmed 15" with no quotes.

cd jq
jq -r '.[] | "(\(.name), \(.scores| add))"' scores.json
3 changes: 3 additions & 0 deletions jq/script-10.sh
Original file line number Diff line number Diff line change
Expand Up @@ -5,3 +5,6 @@ set -euo pipefail
# The input for this script is the scores.json file.
# TODO: Write a command to output the total of adding together all players' first scores.
# Your output should be exactly the number 54.

cd jq
jq -r '[.[].scores[0] | add]' scores.json
3 changes: 3 additions & 0 deletions jq/script-11.sh
Original file line number Diff line number Diff line change
Expand Up @@ -5,3 +5,6 @@ set -euo pipefail
# The input for this script is the scores.json file.
# TODO: Write a command to output the total of adding together all scores from all games from all players.
# Your output should be exactly the number 164.

cd jq
jq -r '[.[].scores[]] | add' scores.json
3 changes: 3 additions & 0 deletions shell-pipelines/sort-uniq-head-tail/script-01.sh
Original file line number Diff line number Diff line change
Expand Up @@ -5,3 +5,6 @@ set -euo pipefail
# The input for this script is the scores-table.txt file.
# TODO: Write a command to output scores-table.txt, with lines sorted by the person's name.
# The first line of your output should be "Ahmed London 1 10 4" (with no quotes). And the third line should be "Chandra Birmingham 12 6".

cd shell-pipelines/sort-uniq-head-tail
sort scores-table.txt
3 changes: 3 additions & 0 deletions shell-pipelines/sort-uniq-head-tail/script-02.sh
Original file line number Diff line number Diff line change
Expand Up @@ -5,3 +5,6 @@ set -euo pipefail
# The input for this script is the scores-table.txt file.
# TODO: Write a command to output scores-table.txt, with lines sorted by the person's first score, descending.
# The first line of your output should be "Basia London 22 9 6" (with no quotes).

cd shell-pipelines/sort-uniq-head-tail
sort -k3,3 -nr scores-table.txt
3 changes: 3 additions & 0 deletions shell-pipelines/sort-uniq-head-tail/script-03.sh
Original file line number Diff line number Diff line change
Expand Up @@ -8,3 +8,6 @@ set -euo pipefail
# Basia London 22 9 6
# Piotr Glasgow 15 2 25 11 8
# Chandra Birmingham 12 6

cd shell-pipelines/sort-uniq-head-tail
sort -k3,3 -nr scores-table.txt | head -n 3
3 changes: 3 additions & 0 deletions shell-pipelines/sort-uniq-head-tail/script-04.sh
Original file line number Diff line number Diff line change
Expand Up @@ -5,3 +5,6 @@ set -euo pipefail
# The input for this script is the scores-table.txt file.
# TODO: Write a command to output scores-table.txt, with shows the line for the player whose first score was the second highest.
# Your output should be: "Piotr Glasgow 15 2 25 11 8" (without quotes).

cd shell-pipelines/sort-uniq-head-tail
sort -k3,3 -nr scores-table.txt | head -n 3| tail -n 1
3 changes: 3 additions & 0 deletions shell-pipelines/sort-uniq-head-tail/script-05.sh
Original file line number Diff line number Diff line change
Expand Up @@ -6,3 +6,6 @@ set -euo pipefail
# TODO: Write a command to show a list of all events that have happened, without duplication.
# The order they're displayed doesn't matter, but we never want to see the same event listed twice.
# Your output should contain 6 lines.

cd shell-pipelines/sort-uniq-head-tail
sort events.txt | uniq
3 changes: 3 additions & 0 deletions shell-pipelines/sort-uniq-head-tail/script-06.sh
Original file line number Diff line number Diff line change
Expand Up @@ -5,3 +5,6 @@ set -euo pipefail
# The input for this script is the events.txt file.
# TODO: Write a command to show how many times anyone has entered and exited.
# It should be clear from your script's output that there have been 5 Entry events and 4 Exit events.

cd shell-pipelines/sort-uniq-head-tail
sort events.txt |awk '{print $1}' | uniq -c
3 changes: 3 additions & 0 deletions shell-pipelines/sort-uniq-head-tail/script-07.sh
Original file line number Diff line number Diff line change
Expand Up @@ -6,3 +6,6 @@ set -euo pipefail
# TODO: Write a command to show how many times anyone has entered and exited.
# It should be clear from your script's output that there have been 5 Entry events and 4 Exit events.
# The word "Event" should not appear in your script's output.

cd shell-pipelines/sort-uniq-head-tail
tail -n +2 events-with-timestamps.txt | awk '{print $3} | sort | uniq -c
3 changes: 3 additions & 0 deletions shell-pipelines/tr/script-01.sh
Original file line number Diff line number Diff line change
Expand Up @@ -6,3 +6,6 @@ set -euo pipefail
# The author got feedback that they're using too many exclamation marks (!).
#
# TODO: Write a command to output the contents of text.txt with every exclamation mark (!) replaced with a full-stop (.).

cd shell-pipelines/tr
tr '!' '.' < text.txt
3 changes: 3 additions & 0 deletions shell-pipelines/tr/script-02.sh
Original file line number Diff line number Diff line change
Expand Up @@ -7,3 +7,6 @@ set -euo pipefail
# so every Y should be a Z, and every Z should be a Y!
#
# TODO: Write a command to output the contents of text.txt with every Y and Z swapped (both upper and lower case).

cd shell-pipelines/tr
tr 'YyZz' 'ZzYy' <text.txt
Loading