From c71aed1df699392e45089e32c967498f8ac9995c Mon Sep 17 00:00:00 2001 From: Faithy4444 Date: Mon, 21 Jul 2025 20:35:51 +0200 Subject: [PATCH 1/3] lq commands --- jq/scores.json | 56 ++++++++++++++++++++++++++++++++++++++++++++++++- jq/script-01.sh | 1 + jq/script-03.sh | 2 ++ jq/script-06.sh | 1 + jq/script-09.sh | 2 ++ jq/script-10.sh | 2 ++ 6 files changed, 63 insertions(+), 1 deletion(-) diff --git a/jq/scores.json b/jq/scores.json index d5f62bf7a..28115858d 100644 --- a/jq/scores.json +++ b/jq/scores.json @@ -1 +1,55 @@ -[{"name": "Ahmed", "city": "London", "scores": [1, 10, 4]}, {"name": "Basia", "city": "London", "scores": [22, 9, 6]}, {"name": "Mehmet", "city": "Birmingham", "scores": [3, 12, 17]}, {"name": "Leila", "city": "London", "scores": [1]}, {"name": "Piotr", "city": "Glasgow", "scores": [15, 2, 25, 11, 8]}, {"name": "Chandra", "city": "Birmingham", "scores": [12, 6]}] +[ + { + "name": "Ahmed", + "city": "London", + "scores": [ + 1, + 10, + 4 + ] + }, + { + "name": "Basia", + "city": "London", + "scores": [ + 22, + 9, + 6 + ] + }, + { + "name": "Mehmet", + "city": "Birmingham", + "scores": [ + 3, + 12, + 17 + ] + }, + { + "name": "Leila", + "city": "London", + "scores": [ + 1 + ] + }, + { + "name": "Piotr", + "city": "Glasgow", + "scores": [ + 15, + 2, + 25, + 11, + 8 + ] + }, + { + "name": "Chandra", + "city": "Birmingham", + "scores": [ + 12, + 6 + ] + } +] \ No newline at end of file diff --git a/jq/script-01.sh b/jq/script-01.sh index 95827f688..c4f23762c 100755 --- a/jq/script-01.sh +++ b/jq/script-01.sh @@ -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. +lq '.name' \ No newline at end of file diff --git a/jq/script-03.sh b/jq/script-03.sh index 3566f03ba..bd3aba6ef 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 \ No newline at end of file diff --git a/jq/script-06.sh b/jq/script-06.sh index 8b6e74c52..67825bd65 100755 --- a/jq/script-06.sh +++ b/jq/script-06.sh @@ -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])" ' 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..1e8930a78 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 '.[] | "\(.name) \(.scores | add)"' scores.json \ No newline at end of file From 85ffbc0b91afd2305eb84e796b6ddb6ed35b3a31 Mon Sep 17 00:00:00 2001 From: Faithy4444 Date: Tue, 22 Jul 2025 12:53:34 +0200 Subject: [PATCH 2/3] lq commands complete --- jq/script-01.sh | 2 +- jq/script-02.sh | 1 + jq/script-04.sh | 2 ++ jq/script-05.sh | 2 ++ jq/script-07.sh | 2 ++ jq/script-08.sh | 2 ++ jq/script-10.sh | 2 +- jq/script-11.sh | 2 ++ 8 files changed, 13 insertions(+), 2 deletions(-) diff --git a/jq/script-01.sh b/jq/script-01.sh index c4f23762c..f6f802117 100755 --- a/jq/script-01.sh +++ b/jq/script-01.sh @@ -5,4 +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. -lq '.name' \ No newline at end of file +jq -r '.name' person.json \ No newline at end of file diff --git a/jq/script-02.sh b/jq/script-02.sh index 21544d67b..46575c41b 100755 --- a/jq/script-02.sh +++ b/jq/script-02.sh @@ -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[0] + ", " + .address[1]+ ", "+ .address[2]' person.json \ No newline at end of file diff --git a/jq/script-04.sh b/jq/script-04.sh index 015997e18..c3f747e98 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-07.sh b/jq/script-07.sh index d43f93d1b..ea187a89e 100755 --- a/jq/script-07.sh +++ b/jq/script-07.sh @@ -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 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 \ No newline at end of file diff --git a/jq/script-08.sh b/jq/script-08.sh index 6671fd1ba..2a2597390 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 \ No newline at end of file diff --git a/jq/script-10.sh b/jq/script-10.sh index 1e8930a78..23f3fa22b 100755 --- a/jq/script-10.sh +++ b/jq/script-10.sh @@ -6,4 +6,4 @@ set -euo pipefail # 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 '.[] | "\(.name) \(.scores | add)"' scores.json \ No newline at end of file +jq -r '[.[] | .scores[0]] | add' scores.json \ No newline at end of file diff --git a/jq/script-11.sh b/jq/script-11.sh index d2337a6b2..17773be7e 100755 --- a/jq/script-11.sh +++ b/jq/script-11.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 scores from all games from all players. # Your output should be exactly the number 164. + +jq -r '[.[] | .scores[]] | add' scores.json \ No newline at end of file From f210e746ca78ed58069880bd4165ad6eccad4b86 Mon Sep 17 00:00:00 2001 From: Faithy4444 Date: Thu, 23 Oct 2025 03:03:19 +0200 Subject: [PATCH 3/3] script2 fixed --- jq/script-02.sh | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/jq/script-02.sh b/jq/script-02.sh index 46575c41b..9933344f4 100755 --- a/jq/script-02.sh +++ b/jq/script-02.sh @@ -5,4 +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[0] + ", " + .address[1]+ ", "+ .address[2]' person.json \ No newline at end of file + + jq -r '.address | join(", ")' person.json