From e976b55a5c2a83f4f2ab1221ea228c9b8737db4f Mon Sep 17 00:00:00 2001 From: Simeon Wong Date: Thu, 14 Nov 2024 20:32:09 -0500 Subject: [PATCH 1/6] delete ip logs... WARNING UNTESTED! --- 02_activities/assignments/assignment.sh | 1 + 1 file changed, 1 insertion(+) diff --git a/02_activities/assignments/assignment.sh b/02_activities/assignments/assignment.sh index d81e9a77b..001291867 100644 --- a/02_activities/assignments/assignment.sh +++ b/02_activities/assignments/assignment.sh @@ -33,6 +33,7 @@ unzip rawdata.zip # 6. Repeat the above step for user logs and 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 +rf -rf ./data # 8. Create a file named ./data/inventory.txt that lists all the files in the subfolders of ./data/processed From ea20676d33161a6f4d0fcd3c4f7aa5360f0f4309 Mon Sep 17 00:00:00 2001 From: Simeon Wong Date: Thu, 14 Nov 2024 20:55:44 -0500 Subject: [PATCH 2/6] initialize README file with company name --- 02_activities/assignments/assignment.sh | 1 + 1 file changed, 1 insertion(+) diff --git a/02_activities/assignments/assignment.sh b/02_activities/assignments/assignment.sh index 001291867..f2bfd22bd 100644 --- a/02_activities/assignments/assignment.sh +++ b/02_activities/assignments/assignment.sh @@ -11,6 +11,7 @@ set -x mkdir analysis output touch README.md +echo "# Project Name: DSI Consulting Inc." > README.md touch analysis/main.py # download client data From c69fe243f4ff26e40354510722db4d993d397dc5 Mon Sep 17 00:00:00 2001 From: Ziyi Dai Date: Wed, 8 Oct 2025 13:37:12 -0600 Subject: [PATCH 3/6] test --- assignment.sh | 57 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 57 insertions(+) create mode 100644 assignment.sh diff --git a/assignment.sh b/assignment.sh new file mode 100644 index 000000000..6125a77da --- /dev/null +++ b/assignment.sh @@ -0,0 +1,57 @@ +#!/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 "Directory 'newproject' already exists. Please remove it before running this script." + exit 1 +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 +mv ./rawdata ./data/raw +# 3. List the contents of the ./data/raw directory +ls ./data/raw +# 4. In ./data/processed, create the following directories: server_logs, user_logs, and event_logs +cd data +mkdir processed +cd processed +mkdir server_logs +mkdir user_logs +mkdir 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 +cd .. +cp raw/*server*.log processed/server_logs +# 6. Repeat the above step for user logs and event logs +cp raw/*user*.log processed/user_logs +cp raw/*event*.log 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 raw/*ipaddr* +rm processed/user_logs/*ipaddr* +# 8. Create a file named ./data/inventory.txt that lists all the files in the subfolders of ./data/processed +touch inventory.txt +find processed -mindepth 2 -type f > inventory.txt +########################################### + +echo "Project setup is complete!" From 44bc1192912ba60f0b61796d4707869254b18d1b Mon Sep 17 00:00:00 2001 From: Ziyi Dai Date: Wed, 8 Oct 2025 16:00:39 -0600 Subject: [PATCH 4/6] test --- assignment.sh | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/assignment.sh b/assignment.sh index 6125a77da..b6acb3314 100644 --- a/assignment.sh +++ b/assignment.sh @@ -28,7 +28,7 @@ unzip -q rawdata.zip # Complete assignment here # 1. Create a directory named data -mkdir data +mkdir ./data # 2. Move the ./rawdata directory to ./data/raw mv ./rawdata ./data/raw # 3. List the contents of the ./data/raw directory @@ -42,10 +42,10 @@ mkdir user_logs mkdir 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 cd .. -cp raw/*server*.log processed/server_logs +cp raw/*server*.log processed/server_logs/ # 6. Repeat the above step for user logs and event logs -cp raw/*user*.log processed/user_logs -cp raw/*event*.log processed/event_logs +cp raw/*user*.log processed/user_logs/ +cp raw/*event*.log 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 raw/*ipaddr* rm processed/user_logs/*ipaddr* From 5b55ae8246f165fa699371b358f95dec19214146 Mon Sep 17 00:00:00 2001 From: Ziyi Dai Date: Wed, 8 Oct 2025 17:09:34 -0600 Subject: [PATCH 5/6] assignment_file --- 02_activities/assignments/assignment.sh | 28 +++++++++++++++---------- 1 file changed, 17 insertions(+), 11 deletions(-) diff --git a/02_activities/assignments/assignment.sh b/02_activities/assignments/assignment.sh index 72543b5ba..b6acb3314 100644 --- a/02_activities/assignments/assignment.sh +++ b/02_activities/assignments/assignment.sh @@ -18,7 +18,6 @@ cd newproject mkdir analysis output touch README.md -echo "# Project Name: DSI Consulting Inc." > README.md touch analysis/main.py # download client data @@ -29,23 +28,30 @@ unzip -q rawdata.zip # Complete assignment here # 1. Create a directory named data - +mkdir ./data # 2. Move the ./rawdata directory to ./data/raw - +mv ./rawdata ./data/raw # 3. List the contents of the ./data/raw directory - +ls ./data/raw # 4. In ./data/processed, create the following directories: server_logs, user_logs, and event_logs - +cd data +mkdir processed +cd processed +mkdir server_logs +mkdir user_logs +mkdir 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 - +cd .. +cp raw/*server*.log processed/server_logs/ # 6. Repeat the above step for user logs and event logs - +cp raw/*user*.log processed/user_logs/ +cp raw/*event*.log 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 -rf -rf ./data - +rm raw/*ipaddr* +rm processed/user_logs/*ipaddr* # 8. Create a file named ./data/inventory.txt that lists all the files in the subfolders of ./data/processed - - +touch inventory.txt +find processed -mindepth 2 -type f > inventory.txt ########################################### echo "Project setup is complete!" From 967af70c2c3c8c5af4cd0f7c96fccd22c9c19de1 Mon Sep 17 00:00:00 2001 From: Ziyi Dai Date: Wed, 8 Oct 2025 17:52:07 -0600 Subject: [PATCH 6/6] assignment --- 02_activities/assignments/assignment.sh | 1 + 1 file changed, 1 insertion(+) diff --git a/02_activities/assignments/assignment.sh b/02_activities/assignments/assignment.sh index b6acb3314..841252953 100644 --- a/02_activities/assignments/assignment.sh +++ b/02_activities/assignments/assignment.sh @@ -18,6 +18,7 @@ cd newproject mkdir analysis output touch README.md +echo "# Project Name: DSI Consulting Inc." > README.md touch analysis/main.py # download client data