Beginner Question about 2 specific functions


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Beginner Question about 2 specific functions
# 1  
Old 07-25-2013
Beginner Question about 2 specific functions

My professor has given me a couple of functions that I am to use to accomplish the task of replacing spaces in file and/or directory names with hyphens.

(i.e. A B/C D/E F and you want to rename that to A B/C D/E-F would be an example of changing the file and leaving the directories)

These are two of the functions I am to use:

Code:
pathname ()
    {
    # function provided for the student
    print -- "${1%/*}"
    }

basename ()
    {
    # function provided for the student
    print -- "${1##*/}"
    }

Basically they are to be used thusly:

1. FILE="A B/C D/E F"
2. BASENAME=`basename "$FILE"`
3. PATHNAME=`pathname "$FILE"`
4. NEWNAME=`echo $BASENAME | some sed command to change spaces to -'s '` # I will leave the sed command to you :-)
5. Now you have the pieces to do the rename à $FILE gets moved to "$PATHNAME/$NEWNAME"

I am wondering if someone can break down, in detail, what those two functions actually do. I'm not sure I understand how the regex and print fucntion work in them, and why are there two hyphens after print. Thanks in advance. Sorry for the long post.

Last edited by jim mcnamara; 07-25-2013 at 08:01 AM..
# 2  
Old 07-25-2013
Do not post classroom or homework problems in the main forums. Homework and coursework questions can only be posted in this forum under special homework rules.

Please review the rules, which you agreed to when you registered, if you have not already done so.

More-than-likely, posting homework in the main forums has resulting in a forum infraction. If you did not post homework, please explain the company you work for and the nature of the problem you are working on.

If you did post homework in the main forums, please review the guidelines for posting homework and repost.

Thank You.

The UNIX and Linux Forums.
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Beginner Bash Scripting Question

Hello, I am new to Linux and studying to become a Unix System Admin. I am taking a course in which I was practicing creating a bash script to ping a particular IP address. The script can be found below: #/bin/bash echo "Enter the IP address" read ip if then ping -c 1 $ip if ;... (3 Replies)
Discussion started by: shah9250
3 Replies

2. Shell Programming and Scripting

C shell - a question of a beginner

Hi, can someone explain how this aliases work: alias m 'if ( \!:$ =~ *gz) set status = 1 && most \!:$ || gzcat \!:1 | most ' I mean, I know what it does, but I don't know how - what is \!:$ and \!:1 - how do it used the && and || - what it does with status variable? thanks (3 Replies)
Discussion started by: tzvikao
3 Replies

3. Shell Programming and Scripting

pls help kinda difficult question for a beginner

1. Create a directory script (project_dir.sh) · Write a script in your home directory to create a subdirectory called “PROJECT<99>” within your home directory on the Ubantu/Linux server. <99> is your project number (e.g. 01,02,03, ... 15). · The script must test whether... (1 Reply)
Discussion started by: bugenhagen_
1 Replies

4. Shell Programming and Scripting

Beginner Question

Hello, I am new to shell scripting. I have a question I would greatly appreciate any suggestions on. I am writing a ksh script that will launch bin files. The files are owned root and the application runs under root. The application administrators do not get root access. The script is intended... (1 Reply)
Discussion started by: inakajin
1 Replies

5. Shell Programming and Scripting

sed beginner question

Hello, I am processing data. In the first column there is the date ("2011 02 03 12 45") separated by space and follow I have the measurements.I have several days in one file. What I would like to do is: to read the data line by line and write the data of "today" in a new file and "yesterday" as... (13 Replies)
Discussion started by: jurgen
13 Replies

6. Shell Programming and Scripting

sed beginner question

hi and sorry for crossposting... I have data, the first column is the date ("2011 02 03 12 45") and follow I have the measurements . What I would like to do is: to read the data line by line and write the data of "today" in a new file and "yesterday" as well in another file, separated by... (2 Replies)
Discussion started by: jurgen
2 Replies

7. Shell Programming and Scripting

beginner's question

i write a shell program and i execute that after i made a bin directiry in my home directory(i didnt give any permissions) now i change to other directory.then i execute it bit it is saying " no such a file or directory" can any one help me please (2 Replies)
Discussion started by: wkbn86
2 Replies

8. Shell Programming and Scripting

Beginner Shell Programming Question

Hello all, I am currently try to learn the linux operating system as well as some bash programming. I have come across some online course work which has been very helpful, I have been working through some assignments and since I have no teacher to ask I have come to you experts. So the... (6 Replies)
Discussion started by: g2axiom
6 Replies

9. UNIX for Dummies Questions & Answers

beginner redirect question

How can I redirect all stdout and stderr messages from a command to /dev/null (or to a file if need be) except messages that start with the word 'foo'? Messages that start with 'foo' need to be displayed in real time (i.e., when they are sent to stdout/stderr by the command). Thanks. (5 Replies)
Discussion started by: darwin_886
5 Replies

10. UNIX for Dummies Questions & Answers

A beginner for cygwin simple question

the current pwd is: c:\cygwin\home\hui which command can go to c:\documents and setting\hui\my documents\hui\reply.txt (1 Reply)
Discussion started by: zhshqzyc
1 Replies
Login or Register to Ask a Question