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

# TODO: Write a command to output just the names of each player in `scores-table.txt`.
# Your output should contain 6 lines, each with just one word on it.

cd individual-shell-tools/awk
awk '{print $1}' scores-table.txt
2 changes: 2 additions & 0 deletions individual-shell-tools/awk/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 each player, as well as their city.
# Your output should contain 6 lines, each with two words on it, separated by a space.
cd individual-shell-tools/awk
awk '{print $1, $2}' scores-table.txt
3 changes: 3 additions & 0 deletions individual-shell-tools/awk/script-03.sh
Original file line number Diff line number Diff line change
Expand Up @@ -5,3 +5,6 @@ set -euo pipefail
# TODO: Write a command to output just the names of each player along with the score from their first attempt.
# Your output should contain 6 lines, each with one word and one number on it.
# The first line should be "Ahmed 1".

cd individual-shell-tools/awk
awk '{print $1, $3}' scores-table.txt
5 changes: 4 additions & 1 deletion individual-shell-tools/awk/script-04.sh
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,9 @@

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.
# TODO: Write a command to output just the names of each player in $2London along with the score from their last attempt.
# Your output should contain 3 lines, each with one word and one number on it.
# The first line should be "Ahmed 4".

cd individual-shell-tools/awk
awk '/London/ {print $1, $NF}' scores-table.txt
3 changes: 3 additions & 0 deletions individual-shell-tools/awk/script-05.sh
Original file line number Diff line number Diff line change
Expand Up @@ -5,3 +5,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.
# Your output should contain 6 lines, each with one word and one number on it.
# The first line should be "Ahmed 3".

cd individual-shell-tools/awk
awk '{count = $3+$4+$5+$6+$7} {print $1, count}' scores-table.txt
3 changes: 3 additions & 0 deletions individual-shell-tools/awk/script-06-stretch.sh
Original file line number Diff line number Diff line change
Expand Up @@ -6,3 +6,6 @@ set -euo pipefail

# TODO: Write a command to output the total of adding together all players' first scores.
# Your output should be exactly the number 54.

cd individual-shell-tools/awk
awk '{count += $3} END {print count}' scores-table.txt
3 changes: 3 additions & 0 deletions individual-shell-tools/awk/script-07-stretch.sh
Original file line number Diff line number Diff line change
Expand Up @@ -7,3 +7,6 @@ set -euo pipefail
# TODO: Write a command to output just the names of each player along with the total of adding all of that player's scores.
# 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"

cd individual-shell-tools/awk
awk '{count = $3+$4+$5+$6+$7} {print $1, count}' scores-table.txt
2 changes: 2 additions & 0 deletions individual-shell-tools/cat/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 the contents of the helper-1.txt file inside the helper-files directory to the terminal.
cd individual-shell-tools/helper-files
cat helper-1.txt
# The output of this command should be "Once upon a time...".
3 changes: 3 additions & 0 deletions individual-shell-tools/cat/script-02.sh
Original file line number Diff line number Diff line change
Expand Up @@ -11,3 +11,6 @@ set -euo pipefail
# It looked delicious.
# I was tempted to take a bite of it.
# But this seemed like a bad idea...

cd individual-shell-tools/helper-files
cat helper-1.txt helper-2.txt helper-3.txt
3 changes: 3 additions & 0 deletions individual-shell-tools/cat/script-03.sh
Original file line number Diff line number Diff line change
Expand Up @@ -9,3 +9,6 @@ set -euo pipefail
# 1 It looked delicious.
# 2 I was tempted to take a bite of it.
# 3 But this seemed like a bad idea...

cd individual-shell-tools/helper-files
cat -n helper-3.txt
4 changes: 4 additions & 0 deletions individual-shell-tools/cat/script-04-stretch.sh
Original file line number Diff line number Diff line change
Expand Up @@ -13,3 +13,7 @@ set -euo pipefail
# 3 It looked delicious.
# 4 I was tempted to take a bite of it.
# 5 But this seemed like a bad idea...

cd individual-shell-tools/helper-files
cat helper-1.txt helper-2.txt helper-3.txt | nl

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 @@ -4,3 +4,5 @@ set -euo pipefail

# TODO: Write a command to output every line in dialogue.txt said by the Doctor.
# The output should contain 6 lines.
cd individual-shell-tools/grep
grep "^Doctor" dialogue.txt
3 changes: 3 additions & 0 deletions individual-shell-tools/grep/script-02.sh
Original file line number Diff line number Diff line change
Expand Up @@ -4,3 +4,6 @@ set -euo pipefail

# TODO: Write a command to output every line in dialogue.txt that contains the word Doctor (regardless of case).
# The output should contain 9 lines.

cd individual-shell-tools/grep
grep -i "Doctor" dialogue.txt
3 changes: 3 additions & 0 deletions individual-shell-tools/grep/script-03.sh
Original file line number Diff line number Diff line change
Expand Up @@ -4,3 +4,6 @@ set -euo pipefail

# TODO: Write a command to output the number of lines in dialogue.txt that contain the word Doctor (regardless of case).
# The output should be exactly the number 9.

cd individual-shell-tools/grep
grep -ic "Doctor" dialogue.txt
3 changes: 3 additions & 0 deletions individual-shell-tools/grep/script-04.sh
Original file line number Diff line number Diff line change
Expand Up @@ -4,3 +4,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).
# The output should contain 10 lines.

cd individual-shell-tools/grep
grep -iv "Hello" dialogue.txt
3 changes: 3 additions & 0 deletions individual-shell-tools/grep/script-05.sh
Original file line number Diff line number Diff line change
Expand Up @@ -4,3 +4,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.
# The output should contain two pairs of two lines of text (with a separator between them).

cd individual-shell-tools/grep
grep -B 1 "cure" dialogue.txt
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 @@ -4,3 +4,5 @@ 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.
# The output should contain two filenames.
cd individual-shell-tools/grep
grep -rl "Doctor" *.txt
3 changes: 3 additions & 0 deletions individual-shell-tools/grep/script-07.sh
Original file line number Diff line number Diff line change
Expand Up @@ -4,3 +4,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.
# The output should show that dialogue.txt contains 6 lines, dialogue-2.txt contains 2, and dialogue-3.txt contains 0.

cd individual-shell-tools/grep
grep -rc "^Doctor" *.txt
2 changes: 2 additions & 0 deletions individual-shell-tools/ls/script-01.sh
Original file line number Diff line number Diff line change
Expand Up @@ -12,4 +12,6 @@ if [[ "${script_dir}" != "$(pwd)" ]]; then
fi

# TODO: Write a command to list the files and folders in this directory.
cd individual-shell-tools/ls
ls
# The output should be a list of names including child-directory, script-01.sh, script-02.sh, and more.
3 changes: 3 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,7 @@
set -euo pipefail

# TODO: Write a command which lists all of the files in the directory named child-directory.
cd individual-shell-tools/ls/child-directory
ls

# The output should be a list of names: helper-1.txt, helper-2.txt, helper-3.txt.
4 changes: 4 additions & 0 deletions individual-shell-tools/ls/script-03.sh
Original file line number Diff line number Diff line change
Expand Up @@ -3,5 +3,9 @@
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.
cd individual-shell-tools/
cd ls
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.
5 changes: 4 additions & 1 deletion individual-shell-tools/ls/script-04.sh
Original file line number Diff line number Diff line change
Expand Up @@ -15,9 +15,12 @@ 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.
# The output should be a list of names in this order, one per line: helper-3.txt, helper-1.txt, helper-2.txt.

cd individual-shell-tools/ls/child-directory
ls -lt

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).
# The output should be a list of names in this order, one per line: helper-2.txt, helper-1.txt, helper-3.txt.
cd individual-shell-tools/ls/child-directory
ls -ltr
5 changes: 4 additions & 1 deletion individual-shell-tools/sed/script-01.sh
Original file line number Diff line number Diff line change
Expand Up @@ -4,4 +4,7 @@ set -euo pipefail

# TODO: Write a command to output input.txt with all occurrences of the letter `i` replaced with `I`.
# The output should contain 11 lines.
# The first line of the output should be: "ThIs Is a sample fIle for experImentIng wIth sed.".
# The first line of the output should be: "ThIs Is a sample fIle for experImentIng with sed.".

cd individual-shell-tools/sed
sed 's/i/I/g' input.txt
7 changes: 6 additions & 1 deletion individual-shell-tools/sed/script-02.sh
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,11 @@

set -euo pipefail

# TODO: Write a command to output input.txt with numbers removed.
# TODO: Write a command to output input.txt with /
# The output should contain 11 lines.
# Line 6 of the output should be " Alisha".

cd individual-shell-tools/sed
sed 's/[0-9]/ /g' input.txt


3 changes: 3 additions & 0 deletions individual-shell-tools/sed/script-03.sh
Original file line number Diff line number Diff line change
Expand Up @@ -4,3 +4,6 @@ set -euo pipefail

# TODO: Write a command to output input.txt removing any line which contains a number.
# The output should contain 6 lines.

cd individual-shell-tools/sed
sed '/[0-9]/d' input.txt
2 changes: 2 additions & 0 deletions individual-shell-tools/sed/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 output input.txt replacing every occurrence of the string "We'll" with "We will".
# The output should contain 11 lines.
cd individual-shell-tools/sed
sed "s/We'll/We Will/g" input.txt
2 changes: 2 additions & 0 deletions individual-shell-tools/sed/script-05.sh
Original file line number Diff line number Diff line change
Expand Up @@ -6,3 +6,5 @@ set -euo pipefail
# If a line starts with a number and a space, make the line instead end with a space and the number.
# So line 6 which currently reads "37 Alisha" should instead read "Alisha 37".
# The output should contain 11 lines.
cd individual-shell-tools/sed
sed -E 's/^([0-9]+) (.*)$/ \2 \1/' input.txt
3 changes: 3 additions & 0 deletions individual-shell-tools/sed/script-06.sh
Original file line number Diff line number Diff line change
Expand Up @@ -8,3 +8,6 @@ set -euo pipefail
# The output should contain 11 lines.
# Line 3 should be "It contains many lines, and there are some things you may want to do with each of them.".
# Line 11 should be "We also should remember, when we go shopping, to get 4 items: oranges, cheese, bread, olives.".

cd individual-shell-tools/sed
sed -E 's/,([^ ])/, / \1/g'
3 changes: 3 additions & 0 deletions individual-shell-tools/wc/script-01.sh
Original file line number Diff line number Diff line change
Expand Up @@ -4,3 +4,6 @@ set -euo pipefail

# TODO: Write a command to output the number of words in the file helper-files/helper-3.txt.
# The output should include the number 19. The output should not include the number 92.

cd individual-shell-tools/helper-files
wc -w helper-3.txt
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 @@ -4,3 +4,5 @@ set -euo pipefail

# TODO: Write a command to output the number of lines in the file helper-files/helper-3.txt.
# The output should include the number 3. The output should not include the number 19.
cd individual-shell-tools/helper-files
wc -l helper-3.txt
3 changes: 3 additions & 0 deletions individual-shell-tools/wc/script-03.sh
Original file line number Diff line number Diff line change
Expand Up @@ -8,3 +8,6 @@ set -euo pipefail
# 1 7 39 ../helper-files/helper-2.txt
# 3 19 92 ../helper-files/helper-3.txt
# 5 30 151 total

cd individual-shell-tools/helper-files
wc helper-1.txt helper-2.txt helper-3.txt
30 changes: 15 additions & 15 deletions number-systems/Part-1.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,48 +7,48 @@ The goal of these exercises is for you to gain an intuition for binary numbers.
The answers to these questions should be a number, either in binary, hex, or decimal.

Q1: Convert the decimal number 14 to binary.
Answer:
Answer: 1110

Q2: Convert the binary number 101101 to decimal:
Answer:
Answer:45

Q3: Which is larger: 1000 or 0111?
Answer:
Answer:1000

Q4: Which is larger: 00100 or 01011?
Answer:
Answer:01011

Q5: What is 10101 + 01010?
Answer:
Answer:11111

Q6: What is 10001 + 10001?
Answer:
Answer:100010

Q7: What's the largest number you can store with 4 bits, if you want to be able to represent the number 0?
Answer:
Answer:15

Q8: How many bits would you need in order to store the numbers between 0 and 255 inclusive?
Answer:
Answer: 8 bits

Q9: How many bits would you need in order to store the numbers between 0 and 3 inclusive?
Answer:
Answer:2 bits

Q10: How many bits would you need in order to store the numbers between 0 and 1000 inclusive?
Answer:
Answer:32 bits

Q11: Convert the decimal number 14 to hex.
Answer:
Answer: E

Q12: Convert the decimal number 386 to hex.
Answer:
Answer:182

Q13: Convert the hex number 386 to decimal.
Answer:
Answer:902

Q14: Convert the hex number B to decimal.
Answer:
Answer:11

Q15: If reading the byte 0x21 as a number, what decimal number would it mean?
Answer:
Answer:33

Q16: Continues in Part-2
10 changes: 5 additions & 5 deletions number-systems/Part-2.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,16 +7,16 @@ The goal of these exercises is for you to gain an intuition for binary numbers.
The answers to these questions will require a bit of explanation, not just a simple answer.

Q16: How can you test if a binary number is a power of two (e.g. 1, 2, 4, 8, 16, ...)?
Answer:
Answer:if there is only single 1 in the binary number then it is power of 2.

Q17: If reading the byte 0x21 as an ASCII character, what character would it mean?
Answer:
Answer:! (Looking at the ASCII text encoding Table)

Q18: If reading the byte 0x21 as a greyscale colour, as described in "Approaches for Representing Colors and Images", what colour would it mean?
Answer:
Answer: I need explanation for this and guid me how to calculate to guess the color.

Q19: If reading the bytes 0xAA00FF as a sequence of three one-byte decimal numbers, what decimal numbers would they be?
Answer:
Answer:170,0,255

Q20: If reading the bytes 0xAA00FF as an RGB colour, as described in "Approaches for Representing Colors and Images", what colour would it mean?
Answer:
Answer:I need explanation for this and guid me how to calculate to guess the color.
Loading