Skip to content
53 changes: 53 additions & 0 deletions 02_activities/assignments/assignment.sh
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand All @@ -28,21 +29,73 @@ unzip -q rawdata.zip
# Complete assignment here

# 1. Create a directory named data
mkdir data
cd data

# 2. Move the ./rawdata directory to ./data/raw
mkdir raw
cd ..
mv rawdata/ data/raw

# 3. List the contents of the ./data/raw directory
echo "Listing contents of raw directory"
ls data/raw

# 4. In ./data/processed, create the following directories: server_logs, user_logs, and event_logs
cd data
mkdir processed

mkdir -p processed/server_logs processed/user_logs processed/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
# Define search parameters
sourceFolder="raw/rawdata"

#server logs
destinationFolder="../../processed/server_logs"

cd "$sourceFolder"/
pwd

cp *server*.log "$destinationFolder"/
pwd

# 6. Repeat the above step for user logs and event logs

#user logs
destinationFolder="../../processed/user_logs"

pwd

cp *user*.log "$destinationFolder"/


#event logs
destinationFolder="../../processed/event_logs"

pwd

cp *event*.log "$destinationFolder"/


# 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

pwd
rm -rf *ipaddr*

pwd
rm -rf ../../processed/user_logs/*ipaddr*

# 8. Create a file named ./data/inventory.txt that lists all the files in the subfolders of ./data/processed

cd ..
cd ..
pwd

find processed/ -type f > inventory.txt

mv raw/rawdata/* raw/

###########################################

Expand Down