Skip to content
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

London | DONARA BLANC | Module Tools | SPRINT 1 | Individual-Shell-Tools #27

Open
wants to merge 28 commits into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
28 commits
Select commit Hold shift + click to select a range
359d783
listing the files
donarbl Mar 3, 2025
4cc02d0
listing the files command
donarbl Mar 3, 2025
dff5a9e
listing all the files in the directory child-directory
donarbl Mar 3, 2025
290aac5
Ls -R command to give the overview of the folders in the directory, a…
donarbl Mar 3, 2025
42c8f5c
sorting command the newest to oldest and oldest to the first
donarbl Mar 3, 2025
c531f85
cat accesses the files and than the content of the files and prints i…
donarbl Mar 3, 2025
7676f78
cat command to access the content of all the files through * and prin…
donarbl Mar 3, 2025
c8c9c4a
use of cat and pipe and nl to number the output in the file
donarbl Mar 3, 2025
10e5c1d
cat -n and cat | nl commands to number the lines
donarbl Mar 3, 2025
91e1f2a
counting words via wc -c
donarbl Mar 3, 2025
0e2e1f8
wc - l to output the number of lines in the file
donarbl Mar 3, 2025
a2447f2
the use of star to output all info
donarbl Mar 3, 2025
c94f227
using carrot ^ to search doctor dialogue
donarbl Mar 3, 2025
5d9f79e
grep -i to output every line of the dialogue which contrains the word…
donarbl Mar 3, 2025
9421db1
output of 9 lines using -ic command in grep
donarbl Mar 3, 2025
d653d64
excluding a word using a -iv command
donarbl Mar 3, 2025
d4199c9
matching the string and finding the line before the string occurs usi…
donarbl Mar 3, 2025
cb36d54
pattern matching using command -il and * to look in every txt file
donarbl Mar 3, 2025
3194ddb
grep -c to output lines of the searchname
donarbl Mar 3, 2025
50b4d23
checking occurencies with sed
donarbl Mar 3, 2025
55bc0ea
numbers removed using sed
donarbl Mar 3, 2025
feadae8
removing number using sed
donarbl Mar 3, 2025
3e7dec9
sed command to replace the words
donarbl Mar 3, 2025
66fcffa
moved the number to the end of the name using sed command
donarbl Mar 3, 2025
ab638fc
removing commas
donarbl Mar 3, 2025
862c2b5
outputing the first column of the table with names
donarbl Mar 3, 2025
a1e2f05
names and corresponding cities using awk and print command
donarbl Mar 3, 2025
f9b46d0
awk exercices to extract information from columns
donarbl Mar 5, 2025
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
9 changes: 9 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,12 @@ 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.

awk '{print $1}' scores-table.txt

Ahmed
Basia
Mehmet
Leila
Piotr
Chandra
7 changes: 7 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,10 @@ 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.
awk '{print $1, $2}' scores-table.txt
Ahmed London
Basia London
Mehmet Birmingham
Leila London
Piotr Glasgow
Chandra Birmingham
7 changes: 7 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,10 @@ 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".
awk '{print $1, $3}' scores-table.txt
Ahmed 1
Basia 22
Mehmet 3
Leila 1
Piotr 15
Chandra 12
5 changes: 5 additions & 0 deletions individual-shell-tools/awk/script-04.sh
Original file line number Diff line number Diff line change
Expand Up @@ -5,3 +5,8 @@ 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.
# Your output should contain 3 lines, each with one word and one number on it.
# The first line should be "Ahmed 4".

awk '/London/ { if (NF<5) print $1, $NF; else print $1, $5}' scores-table.txt
Ahmed 4
Basia 6
Leila 1
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 @@ -5,3 +5,4 @@ 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".
awk '{print $1, NF-2}' scores-table.txt
1 change: 1 addition & 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,4 @@ 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.
awk '{sum += $3} END{print sum}' scores-table.txt
1 change: 1 addition & 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,4 @@ 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"
awk '{ for(i = 3; i <= NF; i++) sum += $i; print $1, sum; sum = 0 }' 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 @@ -4,3 +4,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.
# The output of this command should be "Once upon a time...".

cat ..helper-files/helper-1.txt
2 changes: 2 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,5 @@ set -euo pipefail
# It looked delicious.
# I was tempted to take a bite of it.
# But this seemed like a bad idea...

cat ../helper-files/*.text # I got hungry when reading the output
2 changes: 2 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,5 @@ 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...

cat ../helper-files/helper-3.txt | nl # ordered by numbers
5 changes: 5 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,8 @@ 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...

# i didn't get this phrase "we want line numbers not to reset at the start of each file."
# so there are two ways to do it
cat -n ../helper-files/*txt # -n number the blank lines and filled out lines
cat ../helper-files/*.txt | nl # skips the blank lines and comes only filled out lines
9 changes: 9 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,12 @@ set -euo pipefail

# TODO: Write a command to output every line in dialogue.txt said by the Doctor.
# The output should contain 6 lines.

grep ^Doctor dialogue.txt # i tried to use the "" quotes but my terminal didnt accept that

Doctor: Hello
Doctor: What's wrong today?
Doctor: That sounds frustrating. When did this start?
Doctor: Say "Hi".
Doctor: You didn't say hello
Doctor: You're welcome, goodbye
12 changes: 12 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,15 @@ 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.

grep -i Doctor dialogue.txt

Doctor: Hello
Patient: Hello Doctor
Doctor: What's wrong today?
Doctor: That sounds frustrating. When did this start?
Doctor: Say "Hi".
Doctor: You didn't say hello
Doctor: You're welcome, goodbye
Patient: I went to the doctor!
Spouse: I'm glad you saw the Doctor: did they cure you?
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.

rep Doctor -ic dialogue.txt
9
13 changes: 13 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,16 @@ 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.

grep hello -iv dialogue.txt

Doctor: What's wrong today?
Doctor: That sounds frustrating. When did this start?
Doctor: Say "Hi".
Patient: Hi
Patient: I seem to be cured!
Doctor: You're welcome, goodbye

Patient: I went to the doctor!
Spouse: I'm glad you saw the Doctor: did they cure you?
Patient: Yes!
8 changes: 8 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,11 @@ 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).

grep cure -B1 dialogue.txt

Doctor: You didn't say hello
Patient: I seem to be cured!
--
Patient: I went to the doctor!
Spouse: I'm glad you saw the Doctor: did they cure you?
6 changes: 6 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,9 @@ 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.

grep Doctor -il *.txt

dialogue.txt
dialogue-2.txt
dialogue-3.txt
13 changes: 13 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,16 @@ 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.

grep ^Doctor -c *.txt # this command gaves the expected output

dialogue.txt:6
dialogue-2.txt:2
dialogue-3.txt:0

grep ^ Doctor -c *.txt # however here i put a space between the carrot and the search name and it gave me a different output, and i dont know why

grep: Doctor: No such file or directory
dialogue.txt:15
dialogue-2.txt:4
dialogue-3.txt:3
3 changes: 3 additions & 0 deletions individual-shell-tools/ls/script-01.sh
Original file line number Diff line number Diff line change
Expand Up @@ -13,3 +13,6 @@ fi

# TODO: Write a command to list the files and folders in this directory.
# The output should be a list of names including child-directory, script-01.sh, script-02.sh, and more.

ls # the commmand to list the files

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

# TODO: Write a command which lists all of the files in the directory named child-directory.
# The output should be a list of names: helper-1.txt, helper-2.txt, helper-3.txt.

# I first typed command ls -l which gives me the files list and then
ls child-directory
2 changes: 2 additions & 0 deletions individual-shell-tools/ls/script-03.sh
Original file line number Diff line number Diff line change
Expand Up @@ -5,3 +5,5 @@ 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.
# 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.

ls -R
3 changes: 3 additions & 0 deletions individual-shell-tools/ls/script-04.sh
Original file line number Diff line number Diff line change
Expand Up @@ -16,8 +16,11 @@ 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.

ls -t child-directory # sorts from the newest to the oldest

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.

ls -tr child- directory
14 changes: 14 additions & 0 deletions individual-shell-tools/sed/script-01.sh
Original file line number Diff line number Diff line change
Expand Up @@ -5,3 +5,17 @@ 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.".

sed s/i/I/g input.txt

ThIs Is a sample fIle for experImentIng wIth sed.

It contaIns many lInes, and there are some thIngs you may want to do wIth each of them.

We'll Include some score InformatIon:
37 AlIsha
15 Jacob
7 PIetro
3 Katya

We also should remember, when we go shoppIng, to get 4 Items: oranges,cheese,bread,olIves.
14 changes: 14 additions & 0 deletions individual-shell-tools/sed/script-02.sh
Original file line number Diff line number Diff line change
Expand Up @@ -5,3 +5,17 @@ set -euo pipefail
# TODO: Write a command to output input.txt with numbers removed.
# The output should contain 11 lines.
# Line 6 of the output should be " Alisha".

sed 's/[0-9]*//g' input.txt # however Alisha is not on the 6 line

This is a sample file for experimenting with sed.

It contains many lines, and there are some things you may want to do with each of them.

We'll include some score information:
Alisha
Jacob
Pietro
Katya

We also should remember, when we go shopping, to get items: oranges,cheese,bread,olives.
8 changes: 8 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,11 @@ set -euo pipefail

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

sed -e '/[0-9]/d' input.txt # my output is only 4 lines instead of 6

This is a sample file for experimenting with sed.

It contains many lines, and there are some things you may want to do with each of them.

We'll include some score information:
14 changes: 14 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,17 @@ 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.

sed "s/We'll/We will/g" input.txt

This is a sample file for experimenting with sed.

It contains many lines, and there are some things you may want to do with each of them.

We will include some score information:
37 Alisha
15 Jacob
7 Pietro
3 Katya

We also should remember, when we go shopping, to get 4 items: oranges,cheese,bread,olives.
14 changes: 14 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,17 @@ 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.

sed -E 's/^([0-9]+) (.*)$/\2 \1/' input.txt

This is a sample file for experimenting with sed.

It contains many lines, and there are some things you may want to do with each of them.

We'll include some score information:
Alisha 37
Jacob 15
Pietro 7
Katya 3
We also should remember, when we go shopping, to get 4 items: oranges,cheese,bread,olives.
14 changes: 14 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,17 @@ 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.".

sed 's/, */, /g' input.txt

This is a sample file for experimenting with sed.

It contains many lines, and there are some things you may want to do with each of them.

We'll include some score information:
37 Alisha
15 Jacob
7 Pietro
3 Katya

We also should remember, when we go shopping, to get 4 items: oranges, cheese, bread, olives.
2 changes: 2 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,5 @@ 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.

wc -w ../helper-files/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.

wc -l ../helper-files/helper-3.txt # it gives the 3 lines of the text in the file
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 @@ -8,3 +8,4 @@ set -euo pipefail
# 1 7 39 ../helper-files/helper-2.txt
# 3 19 92 ../helper-files/helper-3.txt
# 5 30 151 total
wc ../helper-files/*.txt # the same as with cat the star *