From 4436d98e22a631d2847b9a15a9766544c4055083 Mon Sep 17 00:00:00 2001 From: Luke-Manyamazi Date: Tue, 22 Jul 2025 21:15:21 +0200 Subject: [PATCH 01/13] added code for ls-grep script 1 --- shell-pipelines/ls-grep/script-01.sh | 1 + 1 file changed, 1 insertion(+) diff --git a/shell-pipelines/ls-grep/script-01.sh b/shell-pipelines/ls-grep/script-01.sh index 8c7d968a..76b395db 100755 --- a/shell-pipelines/ls-grep/script-01.sh +++ b/shell-pipelines/ls-grep/script-01.sh @@ -4,3 +4,4 @@ set -euo pipefail # TODO: Write a command to output the names of the files in the sample-files directory whose name contains at least one upper case letter. # Your output should contain 11 files. +ls sample-files | grep -E '[A-Z]' From 54784ef6d50539f575163677d163d4de4962cffd Mon Sep 17 00:00:00 2001 From: Luke-Manyamazi Date: Tue, 22 Jul 2025 21:29:19 +0200 Subject: [PATCH 02/13] added code for ls-grep script 2 --- shell-pipelines/ls-grep/script-02.sh | 1 + 1 file changed, 1 insertion(+) diff --git a/shell-pipelines/ls-grep/script-02.sh b/shell-pipelines/ls-grep/script-02.sh index 16f5f71d..6883affc 100755 --- a/shell-pipelines/ls-grep/script-02.sh +++ b/shell-pipelines/ls-grep/script-02.sh @@ -4,3 +4,4 @@ set -euo pipefail # TODO: Write a command to output the names of the files in the sample-files directory whose name starts with an upper case letter. # Your output should contain 10 files. +ls sample-files | grep -E '^[A-Z]' From 861ecd393834ea67c6cbf1e7bb05f67f2f636717 Mon Sep 17 00:00:00 2001 From: Luke-Manyamazi Date: Tue, 22 Jul 2025 21:32:18 +0200 Subject: [PATCH 03/13] added code for ls-grep exercise 3 --- shell-pipelines/ls-grep/script-03.sh | 1 + 1 file changed, 1 insertion(+) diff --git a/shell-pipelines/ls-grep/script-03.sh b/shell-pipelines/ls-grep/script-03.sh index a302ab03..efa592f7 100755 --- a/shell-pipelines/ls-grep/script-03.sh +++ b/shell-pipelines/ls-grep/script-03.sh @@ -4,3 +4,4 @@ set -euo pipefail # TODO: Write a command to output the names of the files in the sample-files directory whose name starts with an upper case letter and doesn't contain any other upper case letters. # Your output should contain 7 files. +ls sample-files | grep -E '^[A-Z]$|^[A-Z][a-z]*$' From db1a7f6f96a90184cc56289b66ccdeee33cc2813 Mon Sep 17 00:00:00 2001 From: Luke-Manyamazi Date: Tue, 22 Jul 2025 21:33:41 +0200 Subject: [PATCH 04/13] added code for ls-grep exercise 4 --- shell-pipelines/ls-grep/script-04.sh | 1 + 1 file changed, 1 insertion(+) diff --git a/shell-pipelines/ls-grep/script-04.sh b/shell-pipelines/ls-grep/script-04.sh index c000b7e3..504fce2b 100755 --- a/shell-pipelines/ls-grep/script-04.sh +++ b/shell-pipelines/ls-grep/script-04.sh @@ -4,3 +4,4 @@ set -euo pipefail # TODO: Write a command to count the number of files in the sample-files directory whose name starts with an upper case letter and doesn't contain any other upper case letters. # Your output should be the number 7. +ls sample-files | grep -E '^[A-Z]$|^[A-Z][a-z]*$' | wc -l From 82bcc0069d9bf2abcf8bc7799132d76b21693405 Mon Sep 17 00:00:00 2001 From: Luke-Manyamazi Date: Tue, 22 Jul 2025 21:39:46 +0200 Subject: [PATCH 05/13] added code for sort-uniq-head-tail exercise script 1 --- shell-pipelines/sort-uniq-head-tail/script-01.sh | 2 ++ 1 file changed, 2 insertions(+) diff --git a/shell-pipelines/sort-uniq-head-tail/script-01.sh b/shell-pipelines/sort-uniq-head-tail/script-01.sh index 171e1f98..8ec2c5c3 100755 --- a/shell-pipelines/sort-uniq-head-tail/script-01.sh +++ b/shell-pipelines/sort-uniq-head-tail/script-01.sh @@ -5,3 +5,5 @@ 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". +sort -k1 scores-table.txt + From e444d4d4531e66f0d6524c252bc55d983aa4030f Mon Sep 17 00:00:00 2001 From: Luke-Manyamazi Date: Wed, 23 Jul 2025 04:17:58 +0200 Subject: [PATCH 06/13] added code for sort-uniq-head-tail script 2 exercise --- shell-pipelines/sort-uniq-head-tail/script-02.sh | 1 + 1 file changed, 1 insertion(+) diff --git a/shell-pipelines/sort-uniq-head-tail/script-02.sh b/shell-pipelines/sort-uniq-head-tail/script-02.sh index 29c3c252..e0281500 100755 --- a/shell-pipelines/sort-uniq-head-tail/script-02.sh +++ b/shell-pipelines/sort-uniq-head-tail/script-02.sh @@ -5,3 +5,4 @@ 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). +sort -k3,3nr scores-table.txt From 548ea3bcbfa4c97c02aeb775788b5d5e5920c594 Mon Sep 17 00:00:00 2001 From: Luke-Manyamazi Date: Wed, 23 Jul 2025 04:21:01 +0200 Subject: [PATCH 07/13] added code for sort-uniq-hea-tail script 3 exercise --- shell-pipelines/sort-uniq-head-tail/script-03.sh | 1 + 1 file changed, 1 insertion(+) diff --git a/shell-pipelines/sort-uniq-head-tail/script-03.sh b/shell-pipelines/sort-uniq-head-tail/script-03.sh index bcbaf342..01e6b4d0 100755 --- a/shell-pipelines/sort-uniq-head-tail/script-03.sh +++ b/shell-pipelines/sort-uniq-head-tail/script-03.sh @@ -8,3 +8,4 @@ set -euo pipefail # Basia London 22 9 6 # Piotr Glasgow 15 2 25 11 8 # Chandra Birmingham 12 6 +sort -k3,3nr scores-table.txt | head -n 3 From 5bb1ba68746cc102ba18e5b5b81a629bd58ff3d5 Mon Sep 17 00:00:00 2001 From: Luke-Manyamazi Date: Wed, 23 Jul 2025 04:22:49 +0200 Subject: [PATCH 08/13] added code for sort-uniq-head-tail script 4 exercise --- shell-pipelines/sort-uniq-head-tail/script-04.sh | 1 + 1 file changed, 1 insertion(+) diff --git a/shell-pipelines/sort-uniq-head-tail/script-04.sh b/shell-pipelines/sort-uniq-head-tail/script-04.sh index 65a5cfba..5603cc47 100755 --- a/shell-pipelines/sort-uniq-head-tail/script-04.sh +++ b/shell-pipelines/sort-uniq-head-tail/script-04.sh @@ -5,3 +5,4 @@ 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). +sort -k3,3nr scores-table.txt | head -n 2 | tail -n 1 From 0bcb5047362c08fd99bb54cee058466eefdaad0a Mon Sep 17 00:00:00 2001 From: Luke-Manyamazi Date: Wed, 23 Jul 2025 04:26:07 +0200 Subject: [PATCH 09/13] added code for sort-uniq-head-tail script 5 exercise --- shell-pipelines/sort-uniq-head-tail/script-05.sh | 1 + 1 file changed, 1 insertion(+) diff --git a/shell-pipelines/sort-uniq-head-tail/script-05.sh b/shell-pipelines/sort-uniq-head-tail/script-05.sh index a93cd9f9..8eba57e3 100755 --- a/shell-pipelines/sort-uniq-head-tail/script-05.sh +++ b/shell-pipelines/sort-uniq-head-tail/script-05.sh @@ -6,3 +6,4 @@ 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. +sort events.txt | uniq From 89bf1525458d651aaacd19ce8179bea814bda4d1 Mon Sep 17 00:00:00 2001 From: Luke-Manyamazi Date: Wed, 23 Jul 2025 04:40:09 +0200 Subject: [PATCH 10/13] added code for sort-uniq-head-tail script 6 exercise --- shell-pipelines/sort-uniq-head-tail/script-06.sh | 3 +++ 1 file changed, 3 insertions(+) diff --git a/shell-pipelines/sort-uniq-head-tail/script-06.sh b/shell-pipelines/sort-uniq-head-tail/script-06.sh index 715c7ae5..51b3165d 100755 --- a/shell-pipelines/sort-uniq-head-tail/script-06.sh +++ b/shell-pipelines/sort-uniq-head-tail/script-06.sh @@ -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. +echo "$(grep -c "Entry" events.txt) Entry events" +echo "$(grep -c "Exit" events.txt) Exit events" + From 6973138bfaf6a9d8b101ed343cb0c6586afe852f Mon Sep 17 00:00:00 2001 From: Luke-Manyamazi Date: Wed, 23 Jul 2025 04:50:55 +0200 Subject: [PATCH 11/13] added code for sort-uniq-head-tail script 7 exercise --- shell-pipelines/sort-uniq-head-tail/script-07.sh | 2 ++ 1 file changed, 2 insertions(+) diff --git a/shell-pipelines/sort-uniq-head-tail/script-07.sh b/shell-pipelines/sort-uniq-head-tail/script-07.sh index 7fd07e1f..46823624 100755 --- a/shell-pipelines/sort-uniq-head-tail/script-07.sh +++ b/shell-pipelines/sort-uniq-head-tail/script-07.sh @@ -6,3 +6,5 @@ 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. +grep -c "Entry" events-with-timestamps.txt +grep -c "Exit" events-with-timestamps.txt \ No newline at end of file From be57ccd3de489b6bdb2565018164fcc6c171bd86 Mon Sep 17 00:00:00 2001 From: Luke-Manyamazi Date: Wed, 23 Jul 2025 04:57:27 +0200 Subject: [PATCH 12/13] added code for tr script 1 exercise --- shell-pipelines/tr/script-01.sh | 2 ++ 1 file changed, 2 insertions(+) diff --git a/shell-pipelines/tr/script-01.sh b/shell-pipelines/tr/script-01.sh index 8bb0211e..f875dd8f 100755 --- a/shell-pipelines/tr/script-01.sh +++ b/shell-pipelines/tr/script-01.sh @@ -6,3 +6,5 @@ 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 (.). +tr '!' '.' < text.txt + From a8a5e32ca4396305be03a39b395bf2ac2bd97fa0 Mon Sep 17 00:00:00 2001 From: Luke-Manyamazi Date: Wed, 23 Jul 2025 04:59:30 +0200 Subject: [PATCH 13/13] added code for tr script 2 exercise --- shell-pipelines/tr/script-02.sh | 1 + 1 file changed, 1 insertion(+) diff --git a/shell-pipelines/tr/script-02.sh b/shell-pipelines/tr/script-02.sh index cf3a503a..96a208b9 100755 --- a/shell-pipelines/tr/script-02.sh +++ b/shell-pipelines/tr/script-02.sh @@ -7,3 +7,4 @@ 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). +tr 'YyZz' 'ZzYy' < text.txt