basename

Linux basename command is used to strip directory and suffix from filenames. This command can be used to remove the extensions of a filenames. 

DEFINITION
basename - strip directory and suffix from filenames
USAGE
basename NAME [SUFFIX]
basename OPTION... NAME...
DESCRIPTION
Print NAME with any leading directory components removed.  If specified, also remove a trailing SUFFIX.

       Mandatory arguments to long options are mandatory for short options too.

       -a, --multiple
              support multiple arguments and treat each as a NAME

       -s, --suffix=SUFFIX
              remove a trailing SUFFIX; implies -a

       -z, --zero
              end each output line with NUL, not newline

       --help display this help and exit

       --version
              output version information and exit
EXAMPLES
       basename /usr/bin/sort
              -> "sort"

       basename include/stdio.h .h
              -> "stdio"

       basename -s .h include/stdio.h
              -> "stdio"

       basename -a any/str1 any/str2
              -> "str1" followed by "str2"

As you can see the basename command doesn't trim the extension without specifying the type of the extension to remove. 

root@letusstudy:/var/log# ls -lrt boot.log 
-rw------- 1 root root 68020 Nov  6 19:00 boot.log

root@letusstudy:/var/log# basename boot.log 
boot.log

root@letusstudy:/var/log# basename boot.log .log
boot
root@letusstudy:/var/log# 

REPORTING BUGS
GNU coreutils online help: <https://www.gnu.org/software/coreutils/>
Report basename translation bugs to <https://translationproject.org/team/>

SEE ALSO
dirname(1), readlink(1)

Search Results