From 1071f1c60e4cd3e81cd9914ddb6d292de0a2968f Mon Sep 17 00:00:00 2001 From: zainabh Date: Tue, 3 Mar 2026 20:55:05 -0500 Subject: [PATCH 1/3] Completed assignment and answered all questions i think --- 02_activities/assignments/assignment.sh | 59 +++++++++++++++++++++++++ 1 file changed, 59 insertions(+) create mode 100644 02_activities/assignments/assignment.sh diff --git a/02_activities/assignments/assignment.sh b/02_activities/assignments/assignment.sh new file mode 100644 index 0000000..6f7768c --- /dev/null +++ b/02_activities/assignments/assignment.sh @@ -0,0 +1,59 @@ +#!/bin/bash +set -x + +############################################ +# DSI CONSULTING INC. Project setup script # +############################################ +# This script creates standard analysis and output directories +# for a new project. It also creates a README file with the +# project name and a brief description of the project. +# Then it unzips the raw data provided by the client. + +if [ -d newproject ]; then + echo "Recreating the newproject directory" + rm -rf newproject +fi +mkdir newproject +cd newproject + +mkdir analysis output +touch README.md +touch analysis/main.py + +# download client data +curl -Lo rawdata.zip https://github.com/UofT-DSI/shell/raw/refs/heads/main/02_activities/assignments/rawdata.zip +unzip -q rawdata.zip + +########################################### +# Complete assignment here + +# 1. Create a directory named data +mkdir data + +# 2. Move the ./rawdata directory to ./data/raw (eg. move it into ./data and rename it to raw) +mv rawdata ./data/raw + +# 3. List the contents of the ./data/raw directory +ls ./data/raw + +# 4. Create the directory ./data/processed, +mkdir ./data/processed +mkdir ./data/processed/server_logs +mkdir ./data/processed/user_logs +mkdir ./data/processed/event_logs +# then create the following sub-directories within it: server_logs, user_logs, and event_logs + +# 5. Copy all server log files (files with "server" in the name AND a .log extension) from ./data/raw to ./data/processed/server_logs +cp ./data/raw/*server*.log ./data/processed/server_logs +# 6. Repeat the above step for user logs and event logs +cp ./data/raw/*user*.log ./data/processed/user_logs +cp ./data/raw/*event*.log ./data/processed/event_logs + +# 7. For user privacy, remove all files containing IP addresses (files with "ipaddr" in the filename) from ./data/raw and ./data/processed/user_logs +rm ./data/raw/*ipaddr* +rm ./data/processed/user_logs/*ipaddr* +# 8. Create a file named ./data/inventory.txt that lists all the files in the subfolders of ./data/processed +find ./data/processed -type f > ./data/inventory.txt +########################################### + +echo "Project setup is complete!" From 9cf67d312186dec3f19ecabbfd6ed947b05eda03 Mon Sep 17 00:00:00 2001 From: haseebza Date: Tue, 3 Mar 2026 21:58:11 -0500 Subject: [PATCH 2/3] Revert "Completed assignment and answered all questions i think" --- 02_activities/assignments/assignment.sh | 59 ------------------------- 1 file changed, 59 deletions(-) delete mode 100644 02_activities/assignments/assignment.sh diff --git a/02_activities/assignments/assignment.sh b/02_activities/assignments/assignment.sh deleted file mode 100644 index 6f7768c..0000000 --- a/02_activities/assignments/assignment.sh +++ /dev/null @@ -1,59 +0,0 @@ -#!/bin/bash -set -x - -############################################ -# DSI CONSULTING INC. Project setup script # -############################################ -# This script creates standard analysis and output directories -# for a new project. It also creates a README file with the -# project name and a brief description of the project. -# Then it unzips the raw data provided by the client. - -if [ -d newproject ]; then - echo "Recreating the newproject directory" - rm -rf newproject -fi -mkdir newproject -cd newproject - -mkdir analysis output -touch README.md -touch analysis/main.py - -# download client data -curl -Lo rawdata.zip https://github.com/UofT-DSI/shell/raw/refs/heads/main/02_activities/assignments/rawdata.zip -unzip -q rawdata.zip - -########################################### -# Complete assignment here - -# 1. Create a directory named data -mkdir data - -# 2. Move the ./rawdata directory to ./data/raw (eg. move it into ./data and rename it to raw) -mv rawdata ./data/raw - -# 3. List the contents of the ./data/raw directory -ls ./data/raw - -# 4. Create the directory ./data/processed, -mkdir ./data/processed -mkdir ./data/processed/server_logs -mkdir ./data/processed/user_logs -mkdir ./data/processed/event_logs -# then create the following sub-directories within it: server_logs, user_logs, and event_logs - -# 5. Copy all server log files (files with "server" in the name AND a .log extension) from ./data/raw to ./data/processed/server_logs -cp ./data/raw/*server*.log ./data/processed/server_logs -# 6. Repeat the above step for user logs and event logs -cp ./data/raw/*user*.log ./data/processed/user_logs -cp ./data/raw/*event*.log ./data/processed/event_logs - -# 7. For user privacy, remove all files containing IP addresses (files with "ipaddr" in the filename) from ./data/raw and ./data/processed/user_logs -rm ./data/raw/*ipaddr* -rm ./data/processed/user_logs/*ipaddr* -# 8. Create a file named ./data/inventory.txt that lists all the files in the subfolders of ./data/processed -find ./data/processed -type f > ./data/inventory.txt -########################################### - -echo "Project setup is complete!" From f4ce727d7085772ec2738a6171d39ce748d41e3d Mon Sep 17 00:00:00 2001 From: zainabh Date: Tue, 3 Mar 2026 22:23:53 -0500 Subject: [PATCH 3/3] i think I've completed the assignment - 10:24 pm --- 02_activities/assignments/assignment.sh | 56 +++++++++++++++++++++++++ 1 file changed, 56 insertions(+) create mode 100644 02_activities/assignments/assignment.sh diff --git a/02_activities/assignments/assignment.sh b/02_activities/assignments/assignment.sh new file mode 100644 index 0000000..f12b7b8 --- /dev/null +++ b/02_activities/assignments/assignment.sh @@ -0,0 +1,56 @@ +#!/bin/bash +set -x + +############################################ +# DSI CONSULTING INC. Project setup script # +############################################ +# This script creates standard analysis and output directories +# for a new project. It also creates a README file with the +# project name and a brief description of the project. +# Then it unzips the raw data provided by the client. + +if [ -d newproject ]; then + echo "Recreating the newproject directory" + rm -rf newproject +fi +mkdir newproject +cd newproject + +mkdir analysis output +touch README.md +touch analysis/main.py + +# download client data +curl -Lo rawdata.zip https://github.com/UofT-DSI/shell/raw/refs/heads/main/02_activities/assignments/rawdata.zip +unzip -q rawdata.zip + +########################################### +# Complete assignment here + +# 1. Create a directory named data +mkdir data +# 2. Move the ./rawdata directory to ./data/raw (eg. move it into ./data and rename it to raw) +mv rawdata ./data/raw +# 3. List the contents of the ./data/raw directory +ls ./data/raw +# 4. Create the directory ./data/processed, +mkdir ./data/processed +mkdir ./data/processed/server_logs +mkdir ./data/processed/user_logs +mkdir ./data/processed/event_logs +# then create the following sub-directories within it: server_logs, user_logs, and event_logs + +# 5. Copy all server log files (files with "server" in the name AND a .log extension) from ./data/raw to ./data/processed/server_logs +cp ./data/raw/*server*.log ./data/processed/server_logs +# 6. Repeat the above step for user logs and event logs +cp ./data/raw/*user*.log ./data/processed/user_logs +cp ./data/raw/*event*.log ./data/processed/event_logs +# 7. For user privacy, remove all files containing IP addresses (files with "ipaddr" in the filename) from ./data/raw and ./data/processed/user_logs +rm ./data/raw/*ipaddr* +rm ./data/processed/user_logs/*ipaddr* +# 8. Create a file named ./data/inventory.txt that lists all the files in the subfolders of ./data/processed +find ./data/processed -type f > ./data/inventory.txt + +########################################### + +echo "Project setup is complete!"