Skip to content

Commit e1055ce

Browse files
authored
Lesson 3 committed
1 parent c5fb697 commit e1055ce

File tree

7 files changed

+32097
-0
lines changed

7 files changed

+32097
-0
lines changed

Lesson03/Activity 8.txt

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
# Make sure you are in the ~/Lesson3 folder
2+
3+
grep -c -E '^([^aeiou][aeiou]){2}[^aeiou]$' <words.txt
4+
5+
grep -c -E '^([^aeiou][aeiou])+[^aeiou]?$' <words.txt
6+
7+
grep -c -E '^(.).\1$' <words.txt
8+
9+
grep -c -E '([aeiou])\1' <words.txt
10+
11+
grep -E '^(.)(.).\2\1$' <words.txt

Lesson03/Activity 9.txt

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
NAME=RUMPELSTILTSKIN
2+
LEN=${#NAME}
3+
LEN=$((LEN-1))
4+
5+
echo {$LEN..0}
6+
7+
eval echo {$LEN..0}
8+
9+
echo '${NAME:{$LEN..0}:1}'
10+
11+
echo '\$\{NAME:{$LEN..0}\:1\}'
12+
13+
eval echo '\$\{NAME:{$LEN..0}\:1\}'
14+
15+
echo '\\$\\{NAME:{$LEN..0}\\:1\\}'
16+
17+
eval echo '\\$\\{NAME:{$LEN..0}\\:1\\}'
18+
19+
eval eval echo '\\$\\{NAME:{$LEN..0}\\:1\\}'
20+
21+
eval eval eval echo '\\$\\{NAME:{$LEN..0}\\:1\\}'
22+
23+
tr -d ' ' <<< $(eval eval eval echo '\\$\\{NAME:{$LEN..0}\\:1\\}')

Lesson03/Exercise 13.txt

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
# Step 1
2+
cd ~/Lesson2
3+
4+
# Step 2
5+
time sort payroll.tsv >sorted.txt
6+
7+
# Step 3
8+
time (sort payroll.tsv >sorted.txt ; sort -k2 payroll.tsv >sorted2.txt)
9+
10+
11+
# Step 4
12+
time (sort payroll.tsv >sorted.txt & sort -k2 payroll.tsv >sorted2.txt)
13+
14+
15+
# Step 5
16+
time (sort payroll.tsv >sorted.txt ; sort -k2 payroll.tsv >sorted2.txt ; sort -k3 payroll.tsv >sorted3.txt)
17+
time (sort payroll.tsv >sorted.txt & sort -k2 payroll.tsv >sorted2.txt & sort -k3 payroll.tsv >sorted3.txt)
18+
19+
# Step 6
20+
grep -q 'WALDO' payroll.tsv && echo 'Found'
21+
22+
# Step 7
23+
grep -q 'PINOCCHIO' payroll.tsv || echo 'Not Found'

Lesson03/Exercise 14.txt

Lines changed: 59 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,59 @@
1+
# Step 1
2+
cd ~/Lesson1/data
3+
4+
# Step 2
5+
grep -m1 -w -E -R 'India|China' | less
6+
7+
# Step 3
8+
grep -R --color -E '[0-9]{2}-[0-9]{2} m '
9+
10+
11+
# Step 4
12+
(grep -q -E '^[a-z][a-z0-9_]{,9}$' <<< 'hunter2' && echo 'Valid') || echo 'Invalid'
13+
(grep -q -E '^[a-z][a-z0-9_]{,9}$' <<< 'hunter222' && echo 'Valid') || echo 'Invalid'
14+
15+
16+
# Step 5
17+
(grep -q -E '^[a-z][a-z0-9_]{,9}$' <<< '2hunter' && echo 'Valid') || echo 'Invalid'
18+
(grep -q -E '^[a-z][a-z0-9_]{,9}$' <<< 'Hunter22' && echo 'Valid') || echo 'Invalid'
19+
20+
21+
# Step 6
22+
(grep -q -E '^[a-z][a-z0-9_]{,9}$' <<< 'hunter%2' && echo 'Valid') || echo 'Invalid'
23+
(grep -q -E '^[a-z][a-z0-9_]{,9}$' <<< 'hunter12345678' && echo 'Valid') || echo 'Invalid'
24+
25+
26+
# Step 7
27+
(grep -q -w -E '^\([[:digit:]]{3}\)$' <<< '(123)' && echo 'Valid') || echo 'Invalid'
28+
29+
30+
# Step 8
31+
(grep -q -w -E '^\([[:digit:]]{3}\)\ [[:digit:]]{3}$' <<< '(123) 456' && echo 'Valid') || echo 'Invalid'
32+
33+
34+
# Step 9
35+
(grep -q -w -E '^\([[:digit:]]{3}\)\ [[:digit:]]{3}-[[:digit:]]{4}$' <<< '(123) 456-7890' && echo 'Valid') || echo 'Invalid'
36+
37+
38+
# Step 10
39+
cd ~/Lesson3
40+
41+
42+
# Step 11
43+
cat markdown.txt
44+
45+
46+
# Step 12
47+
grep --color -E '\*\*([a-z]+)\*\*' <markdown.txt
48+
49+
50+
# Step 13
51+
grep --color -E '_([a-z]+)_' <markdown.txt
52+
53+
54+
# Step 14
55+
sed -E -e 's#\*\*([a-z]+)\*\*#<b>\1</b>#g' <markdown.txt
56+
57+
58+
# Step 15
59+
sed -E -e 's#\*\*([a-z]+)\*\*#<b>\1</b>#g' -e 's#_([a-z]+)_#<i>\1</i>#g' <markdown.txt

Lesson03/Exercise 15.txt

Lines changed: 106 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,106 @@
1+
# Step 1
2+
NAME=Robin
3+
echo Hello $NAME
4+
5+
6+
# Step 2
7+
echo The answer is $((74088 / 42 / 42 + 42 - 42))
8+
echo The answer is $((2 * 3 + 4 * 5))
9+
10+
11+
# Step 3
12+
A=1 B=1 C=$((A + B)) && echo $A
13+
A=$B B=$C C=$((A + B)) && echo $A
14+
A=$B B=$C C=$((A + B)) && echo $A
15+
A=$B B=$C C=$((A + B)) && echo $A
16+
A=$B B=$C C=$((A + B)) && echo $A
17+
A=$B B=$C C=$((A + B)) && echo $A
18+
19+
20+
# Step 4
21+
cd Lesson3
22+
mkdir test && cd test
23+
echo {a..c}/{1..3}
24+
mkdir -p {a..c}/{1..3}
25+
tree
26+
cd ..
27+
28+
29+
# Step 5
30+
echo The special cards in a deck are {'ace','king','queen','jack'}{' of spade,',' of diamond,',' of club,',' of heart,'}
31+
32+
33+
# Step 6
34+
wc markdown.txt
35+
36+
37+
# Step 7
38+
OUTPUT=$(wc markdown.txt)
39+
echo $OUTPUT
40+
41+
42+
# Step 8
43+
OUTPUT=($OUTPUT)
44+
echo ${OUTPUT[@]}
45+
46+
47+
# Step 9
48+
WORDS=${OUTPUT[1]}
49+
CHARS=${OUTPUT[2]}
50+
51+
52+
# Step 10
53+
echo Average chars per word is $((CHARS / WORDS))
54+
55+
56+
# Step 11
57+
echo The exact average is $(bc <<< "scale=2; $CHARS / $WORDS ")
58+
59+
60+
# Step 12
61+
ANSWER=42
62+
QUESTION=ANSWER
63+
WHAT=QUESTION
64+
65+
66+
# Step 13
67+
echo ${WHAT}
68+
69+
70+
# Step 14
71+
echo \${${WHAT}}
72+
73+
74+
# Step 15
75+
eval echo \${${WHAT}}
76+
77+
78+
# Step 16
79+
echo $(eval echo \${${WHAT}})
80+
echo \${$(eval echo \${${WHAT}})}
81+
82+
83+
# Step 17
84+
eval echo \${$(eval echo \${${WHAT}})}
85+
86+
87+
# Step 18
88+
cd ~/Lesson2
89+
90+
91+
# Step 19
92+
cp payroll.tsv 1.txt ; cp payroll.tsv 2.txt ; cp payroll.tsv 3.txt
93+
94+
95+
# Step 20
96+
sort payroll.tsv >log.txt
97+
98+
99+
# Step 21
100+
sort -m log.txt <(sort 1.txt) <(sort 2.txt) <(sort 3.txt) >sortmerge.txt
101+
102+
103+
# Step 22
104+
ls *.txt
105+
rm *.txt
106+
rm -r ../Lesson3/test

Lesson03/markdown.txt

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
A **fly** and a **flea** in a flue,
2+
They were trapped, so they thought "What to _do_?"
3+
"Let us _fly_!" said the **flea**,
4+
"Let us _flee_!" said the **fly**,
5+
So, they _flew_ through a flaw in the _flue_!

0 commit comments

Comments
 (0)