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
Check Out this Related Man Page
BASENAME(3) BSD Library Functions Manual BASENAME(3)NAME
basename -- extract the base portion of a pathname
SYNOPSIS
#include <libgen.h>
char *
basename(const char *path);
char *
basename_r(const char *path, char *bname);
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.
The basename_r() variation accepts a buffer of at least MAXPATHLEN bytes in which to store the resulting component.
IMPLEMENTATION NOTES
The basename() function returns a pointer to internal storage space allocated on the first call that will be overwritten by subsequent calls.
basename_r() is therefore preferred for threaded applications.
RETURN VALUES
On successful completion, basename() and basename_r() return pointers to the last component of path.
If they fail, 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), dirname(3)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
CAVEATS
basename() returns a pointer to internal static storage space that will be overwritten by subsequent calls.
Other vendor implementations of basename() may modify the contents of the string passed to basename(); this should be taken into account when
writing code which calls this function if portability is desired.
BSD March 31, 2010 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)
Hi guys, last cry for help for today. I appreciate the help so far.
ok so I have a program that dumps a path into my script as a variable ($1)
This path is an example
/home/xbmc/sab_downloads/video/tv/grey's anatomy/season 3
So in order to search thetvdb.com for a show, I need to extract... (6 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)
Hi all,
my problem:
(little extract from my bash-script)
I want to move each file (.mov) from one directory (and many Subdirectories) to another directory (only one);
after moving i want to create hardlinks to the old directories.
Thatīs no problem, but now:
source-directories... (4 Replies)
Hi
I faced with some interesting behavior of basename and dirname functions from libgen.h: they changes the value of argument! Here is the declaration:
char *basename(char *);
char *dirname(char *);It makes some tiresome to use them... I am new to C and maybe I do something wrong, but to... (4 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)
#!/bin/bash
filecount=0
dirname=path.log
exec<$dirname
while read line # line by line read source file name and stored in a veribale
do
sourcedirname=$line
(
count=`ls $sourcedirname |wc -l`
filecount=`expr $filecount + $count`
echo $filecount
... (2 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)