Linux and UNIX Man Pages

Linux & Unix Commands - Search Man Pages

basename(3) [netbsd man page]

BASENAME(3)						   BSD Library Functions Manual 					       BASENAME(3)

NAME
basename -- return the last component of a pathname LIBRARY
Standard C Library (libc, -lc) SYNOPSIS
#include <libgen.h> char * basename(char *path); DESCRIPTION
The basename() function takes the pathname pointed to by path and returns a pointer to the final component of the pathname, deleting any trailing '/' characters. If path consists entirely of '/' characters, basename() returns a pointer to the string ``/''. If path is a null pointer or points to an empty string, basename() returns a pointer to the string ``.''. RETURN VALUES
The basename() function returns a pointer to the final component of path. SEE ALSO
basename(1), dirname(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 basename() function returns a pointer to static storage that may be overwritten by subsequent calls to basename(). 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

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
Man Page

4 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

basename $0

hi, can anyone help me by saying what is basename.. i have seen this in many programs where the basename is used.... thanks, Krips (4 Replies)
Discussion started by: kripssmart
4 Replies

2. Solaris

Send cut output to basename

Hi, I'm running a command : pargs 20392 | egrep -e "-f "|cut -d " " -f3 | basename BUT the o/p of cut is not sending to basename. the o/p of: pargs 20392 | egrep -e "-f "|cut -d " " -f3 is /home/staff/Properties.cfg Appreciated ur help.. (2 Replies)
Discussion started by: axes
2 Replies

3. UNIX for Dummies Questions & Answers

basename

Hi, can anyone let me know how to interpret the below third line in the following code. Gone through the man pages of "basename", but no go. for f in *.foo; do base=`basename $f .foo` mv $f $base.bar done Thanks. (2 Replies)
Discussion started by: venkatesht
2 Replies

4. UNIX for Dummies Questions & Answers

Pipe to basename

I would like to use basename with wc .. I know I can use awk, but want to use basename. Change this wc -l txt* 106 /home/popeye/txt1 154 /home/popeye/txt2 159 /home/popeye/txt3 420 total to this wc -l txt* 106 txt1 154 txt2 159 txt3 420 total (4 Replies)
Discussion started by: popeye
4 Replies