From a492f9ff9eda99d6b984ee4d77ebe9a0a4343a99 Mon Sep 17 00:00:00 2001 From: Oran Rozansky Date: Sun, 9 Feb 2025 13:45:27 +0000 Subject: [PATCH] This is Oran Rozansky's Last assignment. it includes 10 sh files, one per question named accordingly. --- q1a.sh | 1 + q1b.sh | 1 + q1c.sh | 2 ++ q1d.sh | 1 + q1e.sh | 10 ++++++++++ q2a.sh | 1 + q2b.sh | 1 + q2c.sh | 3 +++ q2d.sh | 1 + q2e.sh | 1 + 10 files changed, 22 insertions(+) create mode 100644 q1a.sh create mode 100644 q1b.sh create mode 100644 q1c.sh create mode 100644 q1d.sh create mode 100644 q1e.sh create mode 100644 q2a.sh create mode 100644 q2b.sh create mode 100644 q2c.sh create mode 100644 q2d.sh create mode 100644 q2e.sh diff --git a/q1a.sh b/q1a.sh new file mode 100644 index 0000000..22b8622 --- /dev/null +++ b/q1a.sh @@ -0,0 +1 @@ +awk '{print NR}' aliceinwonderland.txt | tail -1 diff --git a/q1b.sh b/q1b.sh new file mode 100644 index 0000000..4db17b2 --- /dev/null +++ b/q1b.sh @@ -0,0 +1 @@ +awk '/ Alice / {print}' aliceinwonderland.txt | awk '{print NR}' | tail -1 diff --git a/q1c.sh b/q1c.sh new file mode 100644 index 0000000..e17c021 --- /dev/null +++ b/q1c.sh @@ -0,0 +1,2 @@ +awk '{ for (i=1; i<=NF; i++) freq[tolower($i)]++ } END { for (word in freq) print word, freq[word] }' aliceinwonderland.txt |awk '{ if ($2==1) {print $1}}' + diff --git a/q1d.sh b/q1d.sh new file mode 100644 index 0000000..ec72a49 --- /dev/null +++ b/q1d.sh @@ -0,0 +1 @@ +awk '{ for (i=1; i<=NF; i++) freq[tolower($i)]++ } END { for (word in freq) print word, freq[word] }' aliceinwonderland.txt|sort -k2 -nr |head -n 5 diff --git a/q1e.sh b/q1e.sh new file mode 100644 index 0000000..ceab786 --- /dev/null +++ b/q1e.sh @@ -0,0 +1,10 @@ +awk '( for (i=1; i<=NF; i++) { + word = tolower($i); + total_length += length(word); + total_words++; + } +} +END { + if (total_words > 0) + print "Average word length:", total_length / total_words ; +}' aliceinwonderland.txt diff --git a/q2a.sh b/q2a.sh new file mode 100644 index 0000000..93930c3 --- /dev/null +++ b/q2a.sh @@ -0,0 +1 @@ +sed -n '/Sherlock\|Holmes/p' sherlockholmes.txt | wc -l diff --git a/q2b.sh b/q2b.sh new file mode 100644 index 0000000..e08b635 --- /dev/null +++ b/q2b.sh @@ -0,0 +1 @@ +grep -E -o 'Sherlock|Holmes' sherlockholmes.txt | wc -l diff --git a/q2c.sh b/q2c.sh new file mode 100644 index 0000000..046dbcd --- /dev/null +++ b/q2c.sh @@ -0,0 +1,3 @@ +sed 's/^/Hello:/' sherlockholmes.txt + +""I know I can use the flag -i just didnt want to change the original file"" diff --git a/q2d.sh b/q2d.sh new file mode 100644 index 0000000..667710e --- /dev/null +++ b/q2d.sh @@ -0,0 +1 @@ +sed -E 's/\b[A-Z][a-zA-Z]{1,} [A-Z][a-zA-Z]{1,}/Oran Rozansky/g' sherlockholmes.txt diff --git a/q2e.sh b/q2e.sh new file mode 100644 index 0000000..51c2e2b --- /dev/null +++ b/q2e.sh @@ -0,0 +1 @@ +sed -E 's/\(/[/g; s/\)/]/g' sherlockholmes.txt