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
2 changes: 2 additions & 0 deletions shell-pipelines/ls-grep/script-01.sh
Original file line number Diff line number Diff line change
Expand Up @@ -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 sample-files | grep '[A-Z]'
2 changes: 2 additions & 0 deletions shell-pipelines/ls-grep/script-02.sh
Original file line number Diff line number Diff line change
Expand Up @@ -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 sample-files | grep '^[A-Z]'
2 changes: 2 additions & 0 deletions shell-pipelines/ls-grep/script-03.sh
Original file line number Diff line number Diff line change
Expand Up @@ -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 and doesn't contain any other upper case letters.
# Your output should contain 7 files.

ls sample-files | grep '^[A-Z]' | grep -vE '.[A-Z]'
2 changes: 2 additions & 0 deletions shell-pipelines/ls-grep/script-04.sh
Original file line number Diff line number Diff line change
Expand Up @@ -4,3 +4,5 @@ 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 '^[A-Z]' | grep -vE '.[A-Z]' | wc -l
2 changes: 2 additions & 0 deletions shell-pipelines/sort-uniq-head-tail/script-01.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-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
2 changes: 2 additions & 0 deletions shell-pipelines/sort-uniq-head-tail/script-02.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-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 -n -r scores-table.txt
2 changes: 2 additions & 0 deletions shell-pipelines/sort-uniq-head-tail/script-03.sh
Original file line number Diff line number Diff line change
Expand Up @@ -8,3 +8,5 @@ set -euo pipefail
# Basia London 22 9 6
# Piotr Glasgow 15 2 25 11 8
# Chandra Birmingham 12 6

sort -k3 -n -r scores-table.txt | head -n 3
2 changes: 2 additions & 0 deletions shell-pipelines/sort-uniq-head-tail/script-04.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-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 -n -r scores-table.txt | head -n 2 | tail -n 1
2 changes: 2 additions & 0 deletions shell-pipelines/sort-uniq-head-tail/script-05.sh
Original file line number Diff line number Diff line change
Expand Up @@ -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.

cat events.txt | sort | uniq
2 changes: 2 additions & 0 deletions shell-pipelines/sort-uniq-head-tail/script-06.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 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.

cat events.txt | awk '{print $1}' | sort | uniq -c
2 changes: 2 additions & 0 deletions shell-pipelines/sort-uniq-head-tail/script-07.sh
Original file line number Diff line number Diff line change
Expand Up @@ -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.

cat events.txt | awk '{print $1}' | sort | uniq -c | awk '{print $1}'

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is closer, but two things to check before I mark it resolved.

  1. Which file are you reading? Re-read the TODO at the top of this script and compare it to the cat in your pipeline — are they the same file? There's a reason 07 points at a different input than 06; what's different about that file, and why might it matter here?
  2. Yhe task says it should be clear that there are 5 Entry and 4 Exit events — can you still tell which number is which after your final step? What is that last awk '{print $1}' removing, and do you want it gone?
    Also keep an eye on the "the word Event should not appear" requirement once you switch inputs — that constraint is a hint about what the correct file looks like.

2 changes: 2 additions & 0 deletions shell-pipelines/tr/script-01.sh
Original file line number Diff line number Diff line change
Expand Up @@ -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 (.).

cat text.txt | tr '!' '.'
2 changes: 2 additions & 0 deletions shell-pipelines/tr/script-02.sh
Original file line number Diff line number Diff line change
Expand Up @@ -7,3 +7,5 @@ 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 'YZyz' 'ZYzy'
Loading