Answered step by step
Verified Expert Solution
Link Copied!

Question

1 Approved Answer

The purpose of this script is to change the name of files/directories with spaces in the name to have a dash(-). So if a file/directory

The purpose of this script is to change the name of files/directories with spaces in the name to have a dash(-). So if a file/directory were named "A B", the new name would be A-B. The script will work on a directory specified on the command line and replace the spaces in the names for all files/directories underneath that directory.

Modify the script below following instructions in the script.

The options to the script are as follows:

-f the -f says to only rename files

-d the -d says to only rename directories

Both -d and and -f may be specifed.

the name of the directory that you will be processing.

For example:

Given the following

$ ls C D/ dirs.tar fix-spaces*

And the directory "C D" contained the following structure

./C D ./C D/E F ./C D/E F/G H ./C D/E F/G H/J K ./C D/E F/G H/J K/a b ./C D/E F/G H/a b ./C D/E F/a b ./C D/a b

After the script was run,

fix-space -f -d "C D"

the directory structure would be as follows:

C-D C-D/E-F C-D/E-F/G-H C-D/E-F/G-H/a-b C-D/E-F/G-H/J----K C-D/E-F/G-H/J----K/a-b C-D/E-F/a-b C-D/a-b

THIS IS THE SCRIPT:

#!/usr/bin/ksh USAGE="$0 -f directory $0 -d directory $0 -d -f directory -f rename files -d rename directories " usage () { print -u2 "$USAGE" exit 1 } pathname () { # function provided print -- "${1%/*}" } basename () { # function provided print -- "${1##*/}" } find_dirs () { # function provided for the student find "$1" -depth -type d -name '* *' -print } find_files () { # function provided find "$1" -depth -type f -name '* *' -print } my_rename() { # you must implement this function to my_rename # $1 to $2 # The following error checking must happen: # 1. check if the directory where $1 resided is writeable, # if not then report an error # 2. check if "$2" exists -if it does report and error and don't # do the mv command # 3. check the status of the mv command and report any errors : # remove this line after the function is coded } fix_dirs () { # you must implement this function # to actually call the my_rename funtion to # change the name of the directory from having spaces to # changing all of the spaces to -'s # if the name were "a b", the new name would be a-b # if the name were "a b" the new name would be a----b : # remove this line after the function is coded } fix_files () { # you must implement this function # to actually call the my_rename funtion to # change the name of the file from having spaces to # changing all of the spaces to -'s # if the name were "a b", the new name would be a-b # if the name were "a b" the new name would be a----b : # remove this line after the function is coded } WFILE= WDIR= DIR= if [ "$#" -eq 0 ] then usage fi while [ $# -gt 0 ] do case $1 in -d) WDIR=1 ;; -f) WFILE=1 ;; -*) usage ;; *) if [ -d "$1" ] then DIR="$1" else print -u2 "$1 does not exist ..." exit 1 fi ;; esac shift done # you must implement the following: # - if the directory was not specified, the script should # print a message and exit # - if the Directory specified is the current directory, the script # print a error message and exit # - if the directory specified is . or .. the script should print # an error message and exit # - if both -f and -d are not specified, the script should print a # message and exit # if [ "$WDIR" -a "$WFILE" ] then fix_files "$DIR" fix_dirs "$DIR" elif [ "$WDIR" ] then fix_dirs "$DIR" elif [ "$WFILE" ] then fix_files "$DIR" fi

Step by Step Solution

There are 3 Steps involved in it

Step: 1

blur-text-image

Get Instant Access to Expert-Tailored Solutions

See step-by-step solutions with expert insights and AI powered tools for academic success

Step: 2

blur-text-image

Step: 3

blur-text-image

Ace Your Homework with AI

Get the answers you need in no time with our AI-driven, step-by-step assistance

Get Started

Recommended Textbook for

Database Administrator Limited Edition

Authors: Martif Way

1st Edition

B0CGG89N8Z

More Books

Students also viewed these Databases questions

Question

What is the basis for Security Concerns in Cloud Computing?

Answered: 1 week ago

Question

Describe the three main Cloud Computing Environments.

Answered: 1 week ago