Skip to content

Glasgow | 25-SDC-July | Aiah Ibrahim | Sprint 2 | Shell pipelines exercises #102

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 3 commits into
base: main
Choose a base branch
from
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: 1 addition & 1 deletion shell-pipelines/ls-grep/script-01.sh
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
#!/bin/bash

set -euo pipefail

ls -1 sample-files | grep '[A-Z]'
# 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.
2 changes: 1 addition & 1 deletion shell-pipelines/ls-grep/script-02.sh
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
#!/bin/bash

set -euo pipefail

ls -1 sample-files | grep '^[A-Z]'
# 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.
3 changes: 2 additions & 1 deletion shell-pipelines/ls-grep/script-03.sh
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
#!/bin/bash

set -euo pipefail

ls -1 sample-files | grep '^[A-Z]' | grep -v '.*[A-Z].*[A-Z]'
# 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.

2 changes: 1 addition & 1 deletion shell-pipelines/ls-grep/script-04.sh
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
#!/bin/bash

set -euo pipefail

ls -1 sample-files | grep '^[A-Z]' | grep -v '.*[A-Z].*[A-Z]' | wc -l
# 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.
2 changes: 1 addition & 1 deletion shell-pipelines/sort-uniq-head-tail/script-01.sh
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
#!/bin/bash

set -euo pipefail

sort scores-table.txt
# 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".
2 changes: 1 addition & 1 deletion shell-pipelines/sort-uniq-head-tail/script-02.sh
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
#!/bin/bash

set -euo pipefail

sort -k3nr scores-table.txt
# 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).
2 changes: 1 addition & 1 deletion shell-pipelines/sort-uniq-head-tail/script-03.sh
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
#!/bin/bash

set -euo pipefail

sort -k3nr scores-table.txt | head -n3
# The input for this script is the scores-table.txt file.
# TODO: Write a command to output scores-table.txt, with shows the lines for the three players with the highest first score, in descending order.
# Your output should be:
Expand Down
3 changes: 3 additions & 0 deletions shell-pipelines/sort-uniq-head-tail/script-04.sh
Original file line number Diff line number Diff line change
@@ -1,7 +1,10 @@
#!/bin/bash
#!/bin/bash

set -euo pipefail

sort -k3n scores-table.txt | tail -n2 | head -n1

# 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).
2 changes: 1 addition & 1 deletion shell-pipelines/sort-uniq-head-tail/script-05.sh
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
#!/bin/bash

set -euo pipefail

sort -u events.txt
# The input for this script is the events.txt file.
# 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.
Expand Down
1 change: 1 addition & 0 deletions shell-pipelines/sort-uniq-head-tail/script-06.sh
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
#!/bin/bash

set -euo pipefail
awk '{print $1}' events.txt | sort | uniq -c | awk '{print "There have been", $1 , $2, "events."}'

# The input for this script is the events.txt file.
# TODO: Write a command to show how many times anyone has entered and exited.
Expand Down
1 change: 1 addition & 0 deletions shell-pipelines/sort-uniq-head-tail/script-07.sh
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
#!/bin/bash

set -euo pipefail
awk '{print $3}' events-with-timestamps.txt | sort | grep -E 'Entry|Exit' | uniq -c

# The input for this script is the events-with-timestamps.txt file.
# TODO: Write a command to show how many times anyone has entered and exited.
Expand Down
2 changes: 1 addition & 1 deletion shell-pipelines/tr/script-01.sh
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
#!/bin/bash

set -euo pipefail

cat text.txt | tr '!' '.'
# The input for this script is the text.txt file, which contains an email.
# The author got feedback that they're using too many exclamation marks (!).
#
Expand Down
2 changes: 1 addition & 1 deletion shell-pipelines/tr/script-02.sh
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
#!/bin/bash

set -euo pipefail

cat text.txt | tr 'zy' 'yz'
# The input for this script is the text.txt file, which contains an email.
# Unfortunately, the author wrote it using a German keyboard which has the Y and Z keys swapped,
# so every Y should be a Z, and every Z should be a Y!
Expand Down