Skip to content
Closed
Show file tree
Hide file tree
Changes from 3 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][^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 -c '^[A-Z][^A-Z]*$'
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 -nrk 3 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 -nrk 3 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 -nrk 3 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.

sort -u events.txt
10 changes: 10 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,13 @@ 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.

awk '
{
count[$1]++
}
END {
print count["Entry"], "Entry events"
print count["Exit"], "Exit events"
}
' events.txt
10 changes: 10 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,13 @@ 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.

awk '
{
count[$3]++
}
END {
print count["Entry"], "Entry events"
print count["Exit"], "Exit events"
}
' events-with-timestamps.txt
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 (.).

tr '!' '.' < text.txt
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).

tr 'YZyz' 'ZYzy' < text.txt
Comment thread
jakr-s marked this conversation as resolved.
Outdated
Loading