Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
21 changes: 21 additions & 0 deletions 02_activities/assignments/assignment.sh
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,11 @@ cd newproject

mkdir analysis output
touch README.md
<<<<<<< HEAD
echo "# Project Name: DSI Bash project" > README.md
=======
echo "# Project Name: DSI bash Project" > README.md
>>>>>>> ea20676d33161a6f4d0fcd3c4f7aa5360f0f4309
touch analysis/main.py

# download client data
Expand All @@ -28,21 +33,37 @@ 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
mkdir ./data/processed
mkdir ./data/processed/server_logs
mkdir ./data/processed/user_logs
mkdir ./data/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
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
rf -rf ./data

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

ls ./data/processed/server_logs > ./data/inventory.txt
ls ./data/processed/user_logs >> ./data/inventory.txt
ls ./data/processed/event_logs >> ./data/inventory.txt

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

Expand Down
49 changes: 49 additions & 0 deletions assignment.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
#!/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.



# download client data
curl -Lo rawdata.zip https://github.com/Jyoti2001/shell/raw/refs/heads/main/02_activities/assignments/rawdata.zip
unzip -q rawdata.zip

###########################################
# Complete assignment here

# 1. Create a directory named data
mkdir -p data
mkdir -p data/raw
# 2. Move the ./rawdata directory to ./data/raw
mv ./rawdata/* ./data/raw/ 2>/dev/null
rmdir ./rawdata 2>/dev/null
# 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
mkdir ./data/processed
mkdir -p ./data/processed/server_logs
mkdir -p ./data/processed/user_logs
mkdir -p ./data/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
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

ls ./data/processed/server_logs > ./data/inventory.txt
ls ./data/processed/user_logs >> ./data/inventory.txt
ls ./data/processed/event_logs >> ./data/inventory.txt
###########################################

echo "Project setup is complete!"