DIRNAME(3) BSD Library Functions Manual DIRNAME(3)NAME
dirname -- report the parent directory name of a file pathname
LIBRARY
Standard C Library (libc, -lc)
SYNOPSIS
#include <libgen.h>
char *
dirname(char *path);
DESCRIPTION
The dirname() function takes a pointer to a character string that contains a pathname, path, and returns a pointer to a string that is a
pathname of the parent directory of path. Trailing '/' characters in path are not counted as part of the path.
If path does not contain a '/', then dirname() returns a pointer to the string ``.''.
If path is a null pointer or points to an empty string, dirname() returns a pointer to the string ``.''.
RETURN VALUES
The dirname() function returns a pointer to a string that is the parent directory of path.
SEE ALSO dirname(1), basename(3)STANDARDS
o X/Open Portability Guide Issue 4, Version 2 (``XPG4.2'')
o IEEE Std 1003.1-2001 (``POSIX.1'')
BUGS
If the length of the result is longer than PATH_MAX bytes (including the terminating nul), the result will be truncated.
The dirname() function returns a pointer to static storage that may be overwritten by subsequent calls to dirname(). This is not strictly a
bug; it is explicitly allowed by IEEE Std 1003.1-2001 (``POSIX.1'').
BSD May 10, 2008 BSD
Check Out this Related Man Page
DIRNAME(3) BSD Library Functions Manual DIRNAME(3)NAME
dirname -- extract the directory part of a pathname
SYNOPSIS
#include <libgen.h>
char *
dirname(char *path);
DESCRIPTION
The dirname() function is the converse of basename(3); it returns a pointer to the parent directory of the pathname pointed to by path. Any
trailing '/' characters are not counted as part of the directory name. If path is a null pointer, the empty string, or contains no '/' char-
acters, dirname() returns a pointer to the string ".", signifying the current directory.
IMPLEMENTATION NOTES
The dirname() function returns a pointer to internal storage space allocated on the first call that will be overwritten by subsequent calls.
Other vendor implementations of dirname() may modify the contents of the string passed to dirname(); if portability is desired, this should
be taken into account when writing code which calls this function.
LEGACY SYNOPSIS
#include <libgen.h>
char *
dirname(const char *path);
In legacy mode, path will not be changed.
RETURN VALUES
On successful completion, dirname() returns a pointer to the parent directory of path.
If dirname() 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.
SEE ALSO basename(1), dirname(1), basename(3), compat(5)STANDARDS
The dirname() function conforms to X/Open Portability Guide Issue 4, Version 2 (``XPG4.2'').
HISTORY
The dirname() function first appeared in OpenBSD 2.2 and FreeBSD 4.2.
AUTHORS
Todd C. Miller
BSD October 12, 2006 BSD
Hi,
I've a problem with display "*" character:
I'd like to use a script which take a complete path of set of files or directories in argument and separate them into their "dirname" part and their "basename" part.
It works nearly exept that if i want to display the result (dirname +... (5 Replies)
here are the questions for ya...im stumped
1)the command "dirname path" treats path as a pathnameand writes to the standard output the path prefix, that is everything up to but not including the last component. thus "dirname a/b/c/d" write a/b/c to standard output. If path is simple filename... (1 Reply)
Hi,
I have a file with the path of the directory present somewhere in it.I have assigned the path of the directory name to a variable. I want to replace it with another string.The code i used was
sed -e '/$variable/sbcd/' filename.
since the path name includes slashes '/', my sed command... (9 Replies)
script is:
dirname= "$(date +%b%d)_$(date +%H%M)"
mkdir $dirname
should create a directory named Nov4_
Instead I get the following returned:
root@dchs-pint-001:/=>./test1
./test1: Nov04_0736: not found.
Usage: mkdir Directory ...
root@dchs-pint-001:/=>
TOO easy, but what am I... (2 Replies)
Hi there,
Is there any way to obtain a real path from a weird path. For example :
/foo/../bar/ -> /bar/
/foo/. -> /foo/
Thanks in advance
Santiago (5 Replies)
i write a batch file , here is the content.
dirname='date +%Y-%m-%d'
mkdir dirname
but it doen's work, it just create a folder named date and +%Y-%m-%d.
i have tried run the command seperately in the bash prompt. after the first
sentence executed , i use $dirname to watch the value of... (4 Replies)
Hi, okay, the following command was given to me in a script, but it's not working and there's little to no help on dirname. What is wrong with the following line? I'm just trying to save the current directory to use later in subsequent scripts.
MYAPPDIR=$(dirname $(dirname $0))
Thanks. (2 Replies)
I'm running AIX unix korn shell. If I echo $0, I only get the filename, it does not have the directory name also. So when I do: `dirname $0` it returns a . (meaning current directory). How get $0 to return the full path/filename? Do I need something in my .profile? Thank you. (8 Replies)
-w "filename"
is suppose to return 0 if the file got write permission and 1 if not right?
for some reason... when i test it, it keep returning 1 even after i set full 777 permission to that file/directory?
the directory will become /path/path2/path3
directory = `dirname... (9 Replies)
Hi All,
I have a directory like this: /u01/app/oracle/11gSE1/11gR203
How do i get the top level directory /u01 from this? Tried dirname and basename but dint help. I can this using echo $ORACLE_HOME | awk -F"/" '{print "/"$2}'. But I am trying to find out if there is a better way of doing it... (4 Replies)
Hello so I've stored some csv data to be read into variables like this
Name,Team,Shop,Shoe
etc,etc,etc,etc
Code:
sep=","
{
while IFS=$sep read Name Team Shop Shoe
do
count=1
dirname=$Name
while
do
((count++))
dirname="${Name}$count" (4 Replies)
Code: File is read in from wrapper and declared file_name
IFS=","
sed 1d $file_name | while read Name Job Age Title
do
count=0
dirname=$Name
while
do
((count++))
dirname="${Name}$count"
done
echo "=================="
echo "Name: $Name"
... (1 Reply)