linux下的basename命令介绍

韵味老鸟 2024-08-19 13:36:59

linux 下的basename命令介绍

basename 是一个用于提取文件路径中最后一部分(即文件名)并可选择性地去除文件后缀的命令行工具。它在 Linux 和其他 Unix-like 系统中广泛使用,特别是在脚本编写中。

一:命令介绍

root@meng:~# basename --help

Usage: basename NAME [SUFFIX]

or: basename OPTION... NAME...

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"

GNU coreutils online help: <https://www.gnu.org/software/coreutils/>

Report any translation bugs to <https://translationproject.org/team/>

Full documentation <https://www.gnu.org/software/coreutils/basename>

or available locally via: info '(coreutils) basename invocation'

二:使用方法

basename [OPTION] NAME [SUFFIX]

NAME:要处理的文件路径或文件名。SUFFIX:可选参数,用于指定要去除的文件后缀。脚本编写:在 shell 脚本中提取文件名以便进行后续处理,例如重命名文件或处理文件扩展名。简化输出:在命令行中快速获取文件名,避免显示完整路径。

三:命令案例

root@meng:~# ls

0c86af62-fd21-4a77-be08-a53c49bd8c8f.zip meng.txt snap

root@meng:~# basename /root/meng.txt

meng.txt

root@meng:~# basename /root/meng.txt .txt

meng

root@meng:~# basename -s .txt /root/meng.txt

meng

root@meng:~# basename -az /root/meng.txt

meng.txtroot@meng:~#

root@meng:~# basename -a /root/meng.txt

meng.txt

root@meng:~# basename -a /root/meng.txt 0c86af62-fd21-4a77-be08-a53c49bd8c8f.zip

meng.txt

0c86af62-fd21-4a77-be08-a53c49bd8c8f.zip

0 阅读:4