From 83a947134a60755616e5f6417da852760e020188 Mon Sep 17 00:00:00 2001
From: Rihanna P <114884466+RihannaP@users.noreply.github.com>
Date: Fri, 7 Mar 2025 19:25:46 +0000
Subject: [PATCH 1/3] fix(ls-grep): complete all exercises for ls-grep command

---
 shell-pipelines/ls-grep/script-01.sh | 2 ++
 shell-pipelines/ls-grep/script-02.sh | 2 ++
 shell-pipelines/ls-grep/script-03.sh | 1 +
 shell-pipelines/ls-grep/script-04.sh | 1 +
 4 files changed, 6 insertions(+)

diff --git a/shell-pipelines/ls-grep/script-01.sh b/shell-pipelines/ls-grep/script-01.sh
index 8c7d968..cd19cd4 100755
--- a/shell-pipelines/ls-grep/script-01.sh
+++ b/shell-pipelines/ls-grep/script-01.sh
@@ -4,3 +4,5 @@ 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 -1 ./sample-files | grep '[A-Z]'
+ls -1 ./sample-files | grep '[A-Z]' | wc -l
\ No newline at end of file
diff --git a/shell-pipelines/ls-grep/script-02.sh b/shell-pipelines/ls-grep/script-02.sh
index 16f5f71..e77e984 100755
--- a/shell-pipelines/ls-grep/script-02.sh
+++ b/shell-pipelines/ls-grep/script-02.sh
@@ -4,3 +4,5 @@ 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 -1 ./sample-files | grep '^[A-Z]'
+ls -1 ./sample-files | grep '^[A-Z]' | wc -l
\ No newline at end of file
diff --git a/shell-pipelines/ls-grep/script-03.sh b/shell-pipelines/ls-grep/script-03.sh
index a302ab0..85eace7 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 -1 ./sample-files | grep '^[A-Z][^A-Z]*$'
\ No newline at end of file
diff --git a/shell-pipelines/ls-grep/script-04.sh b/shell-pipelines/ls-grep/script-04.sh
index c000b7e..74e165b 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 -1 ./sample-files | grep '^[A-Z][^A-Z]*$' | wc -l
\ No newline at end of file

From e317ad5dba4333fd94962ba0a6dae9579d29d5bd Mon Sep 17 00:00:00 2001
From: Rihanna P <114884466+RihannaP@users.noreply.github.com>
Date: Fri, 7 Mar 2025 21:10:38 +0000
Subject: [PATCH 2/3] fix(sort-uniq-head-tail):complete all exercises for
 sort-uniq-head-tail command

---
 shell-pipelines/sort-uniq-head-tail/script-01.sh | 1 +
 shell-pipelines/sort-uniq-head-tail/script-02.sh | 1 +
 shell-pipelines/sort-uniq-head-tail/script-03.sh | 1 +
 shell-pipelines/sort-uniq-head-tail/script-04.sh | 1 +
 shell-pipelines/sort-uniq-head-tail/script-05.sh | 2 ++
 shell-pipelines/sort-uniq-head-tail/script-06.sh | 2 ++
 shell-pipelines/sort-uniq-head-tail/script-07.sh | 1 +
 7 files changed, 9 insertions(+)

diff --git a/shell-pipelines/sort-uniq-head-tail/script-01.sh b/shell-pipelines/sort-uniq-head-tail/script-01.sh
index 171e1f9..6e88ea5 100755
--- a/shell-pipelines/sort-uniq-head-tail/script-01.sh
+++ b/shell-pipelines/sort-uniq-head-tail/script-01.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 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 ./scores-table.txt
\ No newline at end of file
diff --git a/shell-pipelines/sort-uniq-head-tail/script-02.sh b/shell-pipelines/sort-uniq-head-tail/script-02.sh
index 29c3c25..2b7ab97 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 -rn ./scores-table.txt
\ No newline at end of file
diff --git a/shell-pipelines/sort-uniq-head-tail/script-03.sh b/shell-pipelines/sort-uniq-head-tail/script-03.sh
index bcbaf34..a1fd041 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 -rn ./scores-table.txt | head -3
\ No newline at end of file
diff --git a/shell-pipelines/sort-uniq-head-tail/script-04.sh b/shell-pipelines/sort-uniq-head-tail/script-04.sh
index 65a5cfb..263818d 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 -rn ./scores-table.txt | tail -n+2 | head -n1
\ No newline at end of file
diff --git a/shell-pipelines/sort-uniq-head-tail/script-05.sh b/shell-pipelines/sort-uniq-head-tail/script-05.sh
index a93cd9f..4e3e79a 100755
--- a/shell-pipelines/sort-uniq-head-tail/script-05.sh
+++ b/shell-pipelines/sort-uniq-head-tail/script-05.sh
@@ -6,3 +6,5 @@ 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 -u ./events.txt   #with -u option
+sort ./events.txt | uniq  #with pipe output of sort to the input of uniq
\ No newline at end of file
diff --git a/shell-pipelines/sort-uniq-head-tail/script-06.sh b/shell-pipelines/sort-uniq-head-tail/script-06.sh
index 715c7ae..77786f2 100755
--- a/shell-pipelines/sort-uniq-head-tail/script-06.sh
+++ b/shell-pipelines/sort-uniq-head-tail/script-06.sh
@@ -5,3 +5,5 @@ 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.
+sort ./events.txt | uniq -c   #show Exit and Entry per person
+sort ./events.txt | awk '{print $1}' | uniq -c  #show total Exit and Entry
diff --git a/shell-pipelines/sort-uniq-head-tail/script-07.sh b/shell-pipelines/sort-uniq-head-tail/script-07.sh
index 7fd07e1..252b298 100755
--- a/shell-pipelines/sort-uniq-head-tail/script-07.sh
+++ b/shell-pipelines/sort-uniq-head-tail/script-07.sh
@@ -6,3 +6,4 @@ 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.
+tail -n+2 ./events-with-timestamps.txt |sort -k3 | awk '{print $3}'| uniq -c
\ No newline at end of file

From 7ab99f64d33308febf5a5935b5c6468eebe24e72 Mon Sep 17 00:00:00 2001
From: Rihanna P <114884466+RihannaP@users.noreply.github.com>
Date: Fri, 7 Mar 2025 21:26:09 +0000
Subject: [PATCH 3/3] fix(tr): complete all exercises for tr command

---
 shell-pipelines/tr/script-01.sh | 1 +
 shell-pipelines/tr/script-02.sh | 1 +
 2 files changed, 2 insertions(+)

diff --git a/shell-pipelines/tr/script-01.sh b/shell-pipelines/tr/script-01.sh
index 8bb0211..6bd4576 100755
--- a/shell-pipelines/tr/script-01.sh
+++ b/shell-pipelines/tr/script-01.sh
@@ -6,3 +6,4 @@ 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 (.).
+cat text.txt | tr '!' '.'
\ No newline at end of file
diff --git a/shell-pipelines/tr/script-02.sh b/shell-pipelines/tr/script-02.sh
index cf3a503..c10f3d7 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).
+cat text.txt | tr 'YyZz' 'ZzYy'
\ No newline at end of file