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
1 change: 1 addition & 0 deletions jq/script-01.sh
Original file line number Diff line number Diff line change
Expand Up @@ -5,3 +5,4 @@ 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.
jq -r '.name' person.json #we use '-r' to print the name without quotations
1 change: 1 addition & 0 deletions jq/script-02.sh
Original file line number Diff line number Diff line change
Expand Up @@ -5,3 +5,4 @@ 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.
jq -r '.address | join(", ")' person.json # first it returns an array but we use join to add them toghether with a comma and a space
1 change: 1 addition & 0 deletions jq/script-03.sh
Original file line number Diff line number Diff line change
Expand Up @@ -5,3 +5,4 @@ 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.
jq -r '[.name, .profession] | join(", ")' person.json # join works on arrays thats why we need to to put values of name and profession in a array to be able to use join
1 change: 1 addition & 0 deletions jq/script-04.sh
Original file line number Diff line number Diff line change
Expand Up @@ -6,3 +6,4 @@ 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.
jq -r '.[].name' scores.json # we get the "name" from each object in the array and print it '.[].name'
2 changes: 2 additions & 0 deletions jq/script-05.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 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.
jq -r '.[] | [.name, .city] | join(", ")' scores.json
# .[] goes through each object [.name, .city] = creates a temporary array for name and city and then we use join to join name and city
1 change: 1 addition & 0 deletions jq/script-06.sh
Original file line number Diff line number Diff line change
Expand Up @@ -6,3 +6,4 @@ 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.
jq -r '.[] | [.name, .scores[0]] | join(" ")' scores.json # .scores[index 1]
1 change: 1 addition & 0 deletions jq/script-07.sh
Original file line number Diff line number Diff line change
Expand Up @@ -6,3 +6,4 @@ 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.
jq -r '.[] | [.name, .scores[-1]] | join(" ")' scores.json # .scores[-1] = last index
1 change: 1 addition & 0 deletions jq/script-08.sh
Original file line number Diff line number Diff line change
Expand Up @@ -6,3 +6,4 @@ 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.
jq -r '.[] | [.name, (.scores | length)] | join(" ")' scores.json # (.scores | length) = length of array
1 change: 1 addition & 0 deletions jq/script-09.sh
Original file line number Diff line number Diff line change
Expand Up @@ -6,3 +6,4 @@ 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.
jq -r '.[] | [.name, (.scores | add)] | join(" ")' scores.json # (.scores | add) = adding each index of this array
4 changes: 4 additions & 0 deletions jq/script-10.sh
Original file line number Diff line number Diff line change
Expand Up @@ -5,3 +5,7 @@ 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.
jq -r 'map(.scores[0]) | add' scores.json

# map(.scores[0]) => a list of first scores of each player
# then we use add to add each number of that array
4 changes: 4 additions & 0 deletions jq/script-11.sh
Original file line number Diff line number Diff line change
Expand Up @@ -5,3 +5,7 @@ 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.
jq -r 'map(.scores) | add | add' scores.json

# first add combines all numbers in an array
# second array adds all numbers in that array
Loading