basename是命令行中的一个实用工具,可以去除给定文件名的目录和后缀。Centos7系统环境下如何使用basename命令在Centos7系统中,basename命令已经默认安装,包含在coreutils安装包中。Linuxbasename命令使用示例Linuxbasename命令使用示例basename有两种语法:basenameNAME[SUFFIX]basenameOPTION...NAME...basename的最后一部分。也可以删除任何尾随后缀。这是一个简单的命令,最基本的就是去掉文件名前面的目录并打印出来:[root@localhost~]#basename/etc/yum.repos.d/CentOS-Base.repoCentOS-Base.repobasename命令默认删除所有尾随/字符:[root@localhost~]#basename/usr/local/local[root@localhost~]#basename/usr/locallocal默认情况下,每个输出行以换行符(\n)结尾.要以NUL终止,请使用-z(--zero)选项。[root@localhost~]#basename-z/usr/local[root@localhost~]#Linux中的basename命令使用示例Linux中的basename命令使用示例basename接受多个文件basename命令可以接受多个名字作为参数。您可以使用-a(--multiple)选项,后跟以空格分隔的文件列表。例如,要获取/etc/passwd和/etc/shadow的文件名,可以运行:[root@localhost~]#basename-a/etc/passwd/etc/shadowpasswdshadow删除指定结尾的后缀要删除any结尾后缀,请将后缀作为第二个参数传递:[root@localhost~]#basename/etc/hostnamenamehost另一种方式:[root@localhost~]#basename-sname/etc/hostnamehost上面的例子,指定name作为后缀,可以看到输出结果中只显示了/之后和name之前的内容。Linuxbasename命令示例Linuxbasename命令使用示例通常,该函数用于删除文件扩展名:[root@localhost~]#basename-s.conf/etc/httpd/conf/httpd.confhttpdor[root@localhost~]#basename/etc/httpd/conf/httpd.conf.confhttpdLinuxbasename命令用法举例Linuxbasename命令用法举例下面的例子中,使用-a选项指定多个文件,-s选项指定后缀内容:[root@localhost~]#basename-a-s.conf/etc/sysctl.conf/etc/httpd/conf/httpd.confsysctlhttpd另一种去除尾随后缀的方法是使用-s(--suffix=SUFFIX)选项来指定后缀。如上例所示。使用示例下面的示例展示了如何在bash脚本中使用for循环、mv命令和basename命令,将当前目录下的图像文件替换为文件扩展名“.jpg”到“.jpeg”:[root@localhosttest]#vimconvert.sh!/bin/bashforfilein*.jpgdomv"$file""$(basename$file.jpg).jpeg"doneLinux中的basename命令使用basename命令在Linux中使用Linux中的示例Basename命令用法示例Linux中的Basename命令用法示例摘要basename是一个命令行实用程序,可从给定文件名中删除目录和后缀。
