basename in Mac OS X

By: Strauss K  

Strip directory and suffix from filenames

      basename string [suffix]

      basename [-a] [-s suffix] string [...]

      dirname string

   -a   Treat every argument as a string
        (as if basename were invoked with just one argument)

   -s   The suffix is taken as its argument, all other arguments are treated as a string.

The basename utility deletes any prefix ending with the last slash / character present in string (after first stripping trailing slashes), and a suffix, if given. The suffix is not stripped if it is identical to the remaining characters in string. The resulting filename is written to the standard output.

A non-existent suffix is ignored.

The dirname utility deletes the filename portion, beginning with the last slash `/' character to the end of string (after first stripping trailing slashes), and writes the result to the standard output.

basename and dirname will exit 0 on success, and >0 if an error occurs.


Set the shell variable FOO to /usr/bin

$ FOO=`dirname /usr/bin/trail`

Set the shell variable FOO$ to the basename of iTunes

$ FOO=`basename /Applications/`

Archived Comments

Most Viewed Articles (in macos )

Latest Articles (in macos)

Comment on this tutorial