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:
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..
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)
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)
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)
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)
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)
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)
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)
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)
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
LEARN ABOUT OSX
basename
BASENAME(3) BSD Library Functions Manual BASENAME(3)NAME
basename -- extract the base portion of a pathname
SYNOPSIS
#include <libgen.h>
char *
basename(char *path);
DESCRIPTION
The basename() function returns the last component from the pathname pointed to by path, deleting any trailing '/' characters. If path con-
sists entirely of '/' characters, a pointer to the string "/" is returned. If path is a null pointer or the empty string, a pointer to the
string "." is returned.
RETURN VALUES
On successful completion, basename() returns a pointer to the last component of path.
If basename() fails, a null pointer is returned and the global variable errno is set to indicate the error.
ERRORS
The following error codes may be set in errno:
[ENAMETOOLONG] The path component to be returned was larger than MAXPATHLEN.
WARNINGS
The basename() function returns a pointer to internal static storage space that will be overwritten by subsequent calls. The function may
modify the string pointed to by path.
LEGACY SYNOPSIS
#include <libgen.h>
char *
basename(const char *path);
In legacy mode, path will not be changed.
SEE ALSO basename(1), dirname(1), dirname(3), compat(5)STANDARDS
The basename() function conforms to X/Open Portability Guide Issue 4, Version 2 (``XPG4.2'').
HISTORY
The basename() function first appeared in OpenBSD 2.2 and FreeBSD 4.2.
AUTHORS
Todd C. Miller <Todd.Miller@courtesan.com>
BSD August 17, 1997 BSD