From 756db48bda2a88b571dcddf32d5855f60ac4b117 Mon Sep 17 00:00:00 2001 From: Nick Freeland Date: Wed, 15 Apr 2026 14:42:48 -0400 Subject: [PATCH] Updated script file --- Assignment.txt | 51 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 51 insertions(+) create mode 100644 Assignment.txt diff --git a/Assignment.txt b/Assignment.txt new file mode 100644 index 000000000..5b2f6c761 --- /dev/null +++ b/Assignment.txt @@ -0,0 +1,51 @@ +#!/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, +# then create the following sub-directories within it: server_logs, user_logs, and event_logs +mkdir ./data/processed +touch server_logs user_logs 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* ./data/procssed/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 | sort > ./data/inventory.txt +########################################### + +echo "Project setup is complete!" \ No newline at end of file