From 0d3d863566da8af6508d46fc1cce44d7af840638 Mon Sep 17 00:00:00 2001 From: pathywang Date: Wed, 8 Jul 2026 12:59:12 +0100 Subject: [PATCH 1/5] complete jq --- jq/script-01.sh | 2 ++ jq/script-02.sh | 2 ++ jq/script-03.sh | 2 ++ jq/script-04.sh | 2 ++ jq/script-05.sh | 2 ++ jq/script-06.sh | 3 +++ jq/script-07.sh | 3 +++ jq/script-08.sh | 2 ++ jq/script-09.sh | 2 ++ jq/script-10.sh | 2 ++ jq/script-11.sh | 3 +++ 11 files changed, 25 insertions(+) diff --git a/jq/script-01.sh b/jq/script-01.sh index 95827f688..5d6a4d85c 100755 --- a/jq/script-01.sh +++ b/jq/script-01.sh @@ -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. # Your output should be exactly the string "Selma", but should not contain any quote characters. + +jq -r '.name' person.json diff --git a/jq/script-02.sh b/jq/script-02.sh index 21544d67b..e7c322de1 100755 --- a/jq/script-02.sh +++ b/jq/script-02.sh @@ -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. +jq -r '.address | join(", ")' person.json + diff --git a/jq/script-03.sh b/jq/script-03.sh index 3566f03ba..22d2f4e20 100755 --- a/jq/script-03.sh +++ b/jq/script-03.sh @@ -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. + +jq -r '"\(.name), \(.profession)"' person.json diff --git a/jq/script-04.sh b/jq/script-04.sh index 015997e18..756dd6702 100755 --- a/jq/script-04.sh +++ b/jq/script-04.sh @@ -6,3 +6,5 @@ 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 \ No newline at end of file diff --git a/jq/script-05.sh b/jq/script-05.sh index 993fc9ee3..37069392e 100755 --- a/jq/script-05.sh +++ b/jq/script-05.sh @@ -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)"' scores.json \ No newline at end of file diff --git a/jq/script-06.sh b/jq/script-06.sh index 8b6e74c52..83b85c03b 100755 --- a/jq/script-06.sh +++ b/jq/script-06.sh @@ -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 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])"' scores.json + diff --git a/jq/script-07.sh b/jq/script-07.sh index d43f93d1b..603b04e95 100755 --- a/jq/script-07.sh +++ b/jq/script-07.sh @@ -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. + +jq -r '.[] | "\(.name) \(.scores[-1])"' scores.json + diff --git a/jq/script-08.sh b/jq/script-08.sh index 6671fd1ba..365e48f29 100755 --- a/jq/script-08.sh +++ b/jq/script-08.sh @@ -6,3 +6,5 @@ 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)"' scores.json diff --git a/jq/script-09.sh b/jq/script-09.sh index c2536a536..219ca4b47 100755 --- a/jq/script-09.sh +++ b/jq/script-09.sh @@ -6,3 +6,5 @@ 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)"' scores.json \ No newline at end of file diff --git a/jq/script-10.sh b/jq/script-10.sh index 8e9d75f07..9fa2ca582 100755 --- a/jq/script-10.sh +++ b/jq/script-10.sh @@ -5,3 +5,5 @@ 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 '[.[].scores[0]] | add' scores.json diff --git a/jq/script-11.sh b/jq/script-11.sh index d2337a6b2..5e8e43c84 100755 --- a/jq/script-11.sh +++ b/jq/script-11.sh @@ -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. + +jq -r '[.[].scores[]] | add' scores.json + From 1d1daf1de1b292ea5ee159030e2d088d8261addb Mon Sep 17 00:00:00 2001 From: pathywang Date: Fri, 10 Jul 2026 16:16:27 +0100 Subject: [PATCH 2/5] correction --- expect/jq/script-03.sh | 1 - 1 file changed, 1 deletion(-) diff --git a/expect/jq/script-03.sh b/expect/jq/script-03.sh index d63f6ec74..87334dd44 100755 --- a/expect/jq/script-03.sh +++ b/expect/jq/script-03.sh @@ -1,2 +1 @@ Selma, Software Engineer -Selma, Software Engineer From 5ea5a30630cedb8d8ecc0a5eebd95a5cee08ac48 Mon Sep 17 00:00:00 2001 From: pathywang Date: Fri, 10 Jul 2026 16:56:32 +0100 Subject: [PATCH 3/5] update --- expect/jq/script-03.sh | 1 - 1 file changed, 1 deletion(-) delete mode 100755 expect/jq/script-03.sh diff --git a/expect/jq/script-03.sh b/expect/jq/script-03.sh deleted file mode 100755 index 87334dd44..000000000 --- a/expect/jq/script-03.sh +++ /dev/null @@ -1 +0,0 @@ -Selma, Software Engineer From 39a6f08959d0386f223ff9675cf4aa9ebb3c2cec Mon Sep 17 00:00:00 2001 From: pathywang Date: Fri, 10 Jul 2026 17:39:00 +0100 Subject: [PATCH 4/5] correction --- jq/script-03.sh | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/jq/script-03.sh b/jq/script-03.sh index 22d2f4e20..41069e251 100755 --- a/jq/script-03.sh +++ b/jq/script-03.sh @@ -6,4 +6,5 @@ set -euo pipefail # 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)"' person.json +jq -r '"\(.name), \(.profession)"' person.json + From 16b74f71c0fe754cd12f2a2b561f6a4d02aa6b20 Mon Sep 17 00:00:00 2001 From: pathywang Date: Fri, 10 Jul 2026 17:47:23 +0100 Subject: [PATCH 5/5] correction --- jq/script-03.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/jq/script-03.sh b/jq/script-03.sh index 41069e251..f1bb10af1 100755 --- a/jq/script-03.sh +++ b/jq/script-03.sh @@ -6,5 +6,5 @@ set -euo pipefail # 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)"' person.json +jq -r '.name + ", " + .profession' person.json