Basename
From Wikipedia, the free encyclopedia
basename is a standard UNIX computer program, when basename is given a pathname, it will delete any prefix up to the last slash ('/') character and return the result. basename is described in the Single UNIX Specification and is a primarily used in shell scripts.
Contents |
[edit] Usage
The Single UNIX Specification specification for basename is.
basename string [suffix]
- string
- A pathname
- suffix
- If specified, basename will also delete the suffix.
[edit] Example
$ basename /usr/home/jsmith/basename.wiki ki basename.wi
[edit] Performance
Since basename accepts only one operand, it's usage within the inner loop of shell scripts can be detrimental to performance. Consider
while read file; do basename "$file" done < some-input
The above excerpt would cause a separate process invocation for each line of input. For this reason, sed is typically used instead:
sed 's/.*\///' < some-input
[edit] See also
[edit] External links
- The Single UNIX® Specification, Issue 6 from The Open Group : return non-directory portion of a pathname – Commands & Utilities Reference,
- Linux man page : strip directory and suffix from filenames –
|