Skip to content
Open
Show file tree
Hide file tree
Changes from 7 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 individual-shell-tools/awk/script-01.sh
Original file line number Diff line number Diff line change
Expand Up @@ -3,4 +3,6 @@
set -euo pipefail

# TODO: Write a command to output just the names of each player in `scores-table.txt`.
awk '{ print $1}' scores-table.txt

# Your output should contain 6 lines, each with just one word on it.
1 change: 1 addition & 0 deletions individual-shell-tools/awk/script-02.sh
Original file line number Diff line number Diff line change
Expand Up @@ -3,4 +3,5 @@
set -euo pipefail

# TODO: Write a command to output the names of each player, as well as their city.
awk '{ print $1, $2}' scores-table.txt
# Your output should contain 6 lines, each with two words on it, separated by a space.
2 changes: 2 additions & 0 deletions individual-shell-tools/awk/script-03.sh
Original file line number Diff line number Diff line change
Expand Up @@ -3,5 +3,7 @@
set -euo pipefail

# TODO: Write a command to output just the names of each player along with the score from their first attempt.
awk '{ print $1, $3}' scores-table.txt

# Your output should contain 6 lines, each with one word and one number on it.
# The first line should be "Ahmed 1".
1 change: 1 addition & 0 deletions individual-shell-tools/awk/script-04.sh
Original file line number Diff line number Diff line change
Expand Up @@ -3,5 +3,6 @@
set -euo pipefail

# TODO: Write a command to output just the names of each player in London along with the score from their last attempt.
awk '$2 == "London" {print $1, $NF}' scores-table.txt
# Your output should contain 3 lines, each with one word and one number on it.
# The first line should be "Ahmed 4".
1 change: 1 addition & 0 deletions individual-shell-tools/awk/script-05.sh
Original file line number Diff line number Diff line change
Expand Up @@ -3,5 +3,6 @@
set -euo pipefail

# TODO: Write a command to output just the names of each player along with the number of times they've played the game.
awk '{print $1, NF - 2}' scores-table.txt
# Your output should contain 6 lines, each with one word and one number on it.
# The first line should be "Ahmed 3".
2 changes: 2 additions & 0 deletions individual-shell-tools/awk/script-06-stretch.sh
Original file line number Diff line number Diff line change
Expand Up @@ -5,4 +5,6 @@ set -euo pipefail
# NOTE: This is a stretch exercise - it is optional.

# TODO: Write a command to output the total of adding together all players' first scores.
awk '{if (NF > 2) sum += $3} END {print sum}' scores-table.txt
Comment thread
Rashaad-Ebrahim marked this conversation as resolved.

# Your output should be exactly the number 54.
7 changes: 7 additions & 0 deletions individual-shell-tools/awk/script-07-stretch.sh
Original file line number Diff line number Diff line change
Expand Up @@ -5,5 +5,12 @@ set -euo pipefail
# NOTE: This is a stretch exercise - it is optional.

# TODO: Write a command to output just the names of each player along with the total of adding all of that player's scores.

awk '{
total = 0;
for (i = 3; i <= NF; i++) total += $i;
print $1, total
}' scores-table.txt

# Your output should contain 6 lines, each with one word and one number on it.
# The first line should be "Ahmed 15". The second line should be "Basia 37"
1 change: 1 addition & 0 deletions individual-shell-tools/cat/script-01.sh
Original file line number Diff line number Diff line change
Expand Up @@ -3,4 +3,5 @@
set -euo pipefail

# TODO: Write a command to output the contents of the helper-1.txt file inside the helper-files directory to the terminal.
cat ../helper-files/helper-1.txt
# The output of this command should be "Once upon a time...".
1 change: 1 addition & 0 deletions individual-shell-tools/cat/script-02.sh
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@ set -euo pipefail

# TODO: Write a command to output the contents of all of the files inside the helper-files directory to the terminal.
# Make sure you are only calling `cat` once.
cat ../helper-files/*
#
# The output of this command should be:
# Once upon a time...
Expand Down
1 change: 1 addition & 0 deletions individual-shell-tools/cat/script-03.sh
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@
set -euo pipefail

# TODO: Write a command to output the contents of the file `helper-3.txt` inside the helper-files directory to the terminal.
cat -n ../helper-files/helper-3.txt
# This time, we also want to see the line numbers in the output.
#
# The output of this command should be something like:
Expand Down
1 change: 1 addition & 0 deletions individual-shell-tools/cat/script-04-stretch.sh
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@ set -euo pipefail

# TODO: Write a command to output the contents of all of the files in the helper-files directory to the terminal.
# We also want to see the line numbers in the output, but we want line numbers not to reset at the start of each file.
cat -n ../helper-files/helper*
#
# The output of this command should be something like:
# 1 Once upon a time...
Expand Down
2 changes: 2 additions & 0 deletions individual-shell-tools/grep/script-01.sh
Original file line number Diff line number Diff line change
Expand Up @@ -3,4 +3,6 @@
set -euo pipefail

# TODO: Write a command to output every line in dialogue.txt said by the Doctor.
grep "^Doctor\b" dialogue.txt

# The output should contain 6 lines.
2 changes: 2 additions & 0 deletions individual-shell-tools/grep/script-02.sh
Original file line number Diff line number Diff line change
Expand Up @@ -3,4 +3,6 @@
set -euo pipefail

# TODO: Write a command to output every line in dialogue.txt that contains the word Doctor (regardless of case).
grep -i Doctor dialogue.txt

# The output should contain 9 lines.
1 change: 1 addition & 0 deletions individual-shell-tools/grep/script-03.sh
Original file line number Diff line number Diff line change
Expand Up @@ -3,4 +3,5 @@
set -euo pipefail

# TODO: Write a command to output the number of lines in dialogue.txt that contain the word Doctor (regardless of case).
grep -ic Doctor dialogue.txt
# The output should be exactly the number 9.
2 changes: 2 additions & 0 deletions individual-shell-tools/grep/script-04.sh
Original file line number Diff line number Diff line change
Expand Up @@ -3,4 +3,6 @@
set -euo pipefail

# TODO: Write a command to output every line in dialogue.txt that does not contain the word "Hello" (regardless of case).
grep -icv Hello dialogue.txt

# The output should contain 10 lines.
2 changes: 2 additions & 0 deletions individual-shell-tools/grep/script-05.sh
Original file line number Diff line number Diff line change
Expand Up @@ -3,4 +3,6 @@
set -euo pipefail

# TODO: Write a command to output every line in dialogue.txt that contains the string "cure", as well as the line before that line.
grep -iC 1 cure dialogue.txt
Comment thread
Rashaad-Ebrahim marked this conversation as resolved.
Outdated

# The output should contain two pairs of two lines of text (with a separator between them).
2 changes: 2 additions & 0 deletions individual-shell-tools/grep/script-06.sh
Original file line number Diff line number Diff line change
Expand Up @@ -3,4 +3,6 @@
set -euo pipefail

# TODO: Write a command to output the name of every `.txt` file in this directory which contains a line of dialogue said by the Doctor.
grep -l "^Doctor\b" *.txt

# The output should contain two filenames.
2 changes: 2 additions & 0 deletions individual-shell-tools/grep/script-07.sh
Original file line number Diff line number Diff line change
Expand Up @@ -3,4 +3,6 @@
set -euo pipefail

# TODO: Write a command to output, for each `.txt` file in this directory, how many lines of dialogue the Doctor has.
grep -c "^Doctor\b" *.txt

# The output should show that dialogue.txt contains 6 lines, dialogue-2.txt contains 2, and dialogue-3.txt contains 0.
1 change: 1 addition & 0 deletions individual-shell-tools/ls/script-01.sh
Original file line number Diff line number Diff line change
Expand Up @@ -12,4 +12,5 @@ if [[ "${script_dir}" != "$(pwd)" ]]; then
fi

# TODO: Write a command to list the files and folders in this directory.
ls
# The output should be a list of names including child-directory, script-01.sh, script-02.sh, and more.
2 changes: 2 additions & 0 deletions individual-shell-tools/ls/script-02.sh
Original file line number Diff line number Diff line change
Expand Up @@ -3,4 +3,6 @@
set -euo pipefail

# TODO: Write a command which lists all of the files in the directory named child-directory.
ls child-directory

# The output should be a list of names: helper-1.txt, helper-2.txt, helper-3.txt.
1 change: 1 addition & 0 deletions individual-shell-tools/ls/script-03.sh
Original file line number Diff line number Diff line change
Expand Up @@ -3,5 +3,6 @@
set -euo pipefail

# TODO: Write a command which _recursively_ lists all of the files and folders in this directory _and_ all of the files inside those folders.
ls -R
# The output should be a list of names including: child-directory, script-01.sh, helper-1.txt (and more).
# The formatting of the output doesn't matter.
2 changes: 2 additions & 0 deletions individual-shell-tools/ls/script-04.sh
Original file line number Diff line number Diff line change
Expand Up @@ -14,10 +14,12 @@ touch "${script_dir}/child-directory/helper-3.txt"
echo "First exercise (sorted newest to oldest):"

# TODO: Write a command which lists the files in the child-directory directory, one per line, sorted so that the most recently modified file is first.
ls -lt ./child-directory
# The output should be a list of names in this order, one per line: helper-3.txt, helper-1.txt, helper-2.txt.


echo "Second exercise (sorted oldest to newest):"

# TODO: Write a command which does the same as above, but sorted in the opposite order (oldest first).
ls -ltr ./child-directory
# The output should be a list of names in this order, one per line: helper-2.txt, helper-1.txt, helper-3.txt.
1 change: 1 addition & 0 deletions individual-shell-tools/sed/script-01.sh
Original file line number Diff line number Diff line change
Expand Up @@ -3,5 +3,6 @@
set -euo pipefail

# TODO: Write a command to output input.txt with all occurrences of the letter `i` replaced with `I`.
sed "s/i/I/g" input.txt
# The output should contain 11 lines.
# The first line of the output should be: "ThIs Is a sample fIle for experImentIng with sed.".
2 changes: 2 additions & 0 deletions individual-shell-tools/sed/script-02.sh
Original file line number Diff line number Diff line change
Expand Up @@ -3,5 +3,7 @@
set -euo pipefail

# TODO: Write a command to output input.txt with numbers removed.
sed 's/[0-9]//g' input.txt

# The output should contain 11 lines.
# Line 6 of the output should be " Alisha".
2 changes: 2 additions & 0 deletions individual-shell-tools/sed/script-03.sh
Original file line number Diff line number Diff line change
Expand Up @@ -3,4 +3,6 @@
set -euo pipefail

# TODO: Write a command to output input.txt removing any line which contains a number.
sed '/[0-9]/d' input.txt

# The output should contain 6 lines.
1 change: 1 addition & 0 deletions individual-shell-tools/sed/script-04.sh
Original file line number Diff line number Diff line change
Expand Up @@ -3,4 +3,5 @@
set -euo pipefail

# TODO: Write a command to output input.txt replacing every occurrence of the string "We'll" with "We will".
sed "s/We'll/We will/g" input.txt
# The output should contain 11 lines.
1 change: 1 addition & 0 deletions individual-shell-tools/sed/script-05.sh
Original file line number Diff line number Diff line change
Expand Up @@ -4,5 +4,6 @@ set -euo pipefail

# TODO: Write a command to output input.txt with one change:
# If a line starts with a number and a space, make the line instead end with a space and the number.
sed 's/^\([0-9]\+\) \(.*\)/\2 \1/' input.txt
# So line 6 which currently reads "37 Alisha" should instead read "Alisha 37".
# The output should contain 11 lines.
2 changes: 2 additions & 0 deletions individual-shell-tools/sed/script-06.sh
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,8 @@
set -euo pipefail

# TODO: Write a command to output input.txt with one fix:
sed 's/,\([^ ]\)/, \1/g' input.txt

# If a comma in input.txt is not followed by a space, add a space after.
# If there is already a space after a comma, do not add an additional space.
# The output should contain 11 lines.
Expand Down
1 change: 1 addition & 0 deletions individual-shell-tools/wc/script-01.sh
Original file line number Diff line number Diff line change
Expand Up @@ -3,4 +3,5 @@
set -euo pipefail

# TODO: Write a command to output the number of words in the file helper-files/helper-3.txt.
wc -w ../helper-files/helper-3.txt
# The output should include the number 19. The output should not include the number 92.
2 changes: 2 additions & 0 deletions individual-shell-tools/wc/script-02.sh
Original file line number Diff line number Diff line change
Expand Up @@ -3,4 +3,6 @@
set -euo pipefail

# TODO: Write a command to output the number of lines in the file helper-files/helper-3.txt.
wc -l ../helper-files/helper-3.txt

# The output should include the number 3. The output should not include the number 19.
1 change: 1 addition & 0 deletions individual-shell-tools/wc/script-03.sh
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@
set -euo pipefail

# TODO: Write a command to output the number of lines, words, and characters in all of the files inside the helper-files directory.
wc ../helper-files/*
# The output should be something like:
# 1 4 20 ../helper-files/helper-1.txt
# 1 7 39 ../helper-files/helper-2.txt
Expand Down