良许Linux教程网 Linux命令大全 Linux中的basename命令使用实例

Linux中的basename命令使用实例

basename是一个命令行中实用的小工具,可从给定的文件名中删除目录和后缀。

系统环境

Centos7

如何使用basename命令

在Centos7系统中,已经默认安装了basename命令了,该命令包含在coreutils安装包里。
Linux中的basename命令使用实例Linux中的basename命令使用实例
basename有两种语法:

basename NAME [SUFFIX]
basename OPTION... NAME...

basename最后一部分。也可以删除任何结尾的后缀。这是一个简单的命令,最基本的是去掉文件明前面的目录并打印出来:

[root@localhost ~]# basename /etc/yum.repos.d/CentOS-Base.repo 
CentOS-Base.repo

basename命令默认删除所有结尾的/字符:

[root@localhost ~]# basename /usr/local/
local
[root@localhost ~]# basename /usr/local
local

默认情况下,每条输出行以换行符(\n)结尾。要以NUL结尾,请使用-z(–zero)选项。

[root@localhost ~]# basename -z /usr/local
local[root@localhost ~]#

Linux中的basename命令使用实例Linux中的basename命令使用实例

basename接受多个文件

basename命令可以接受多个名称作为参数。可以使用-a(–multiple)选项,然后使用空格分隔文件列表。例如,要获取/etc/passwd和/etc/shadow的文件名,可以运行:

[root@localhost ~]# basename -a /etc/passwd /etc/shadow
passwd
shadow

删除指定结尾的后缀

要从文件名中删除任何结尾的后缀,请将后缀作为第二个参数传递:

[root@localhost ~]# basename /etc/hostname name
host
另一种方法:
[root@localhost ~]# basename -s name /etc/hostname 
host

上面例子中,指定name为后缀,可以看到输出结果中只显示/后面和name前面的内容了。
Linux中的basename命令使用实例Linux中的basename命令使用实例
通常,此功能用于删除文件的扩展名:

[root@localhost ~]# basename -s .conf  /etc/httpd/conf/httpd.conf
httpd
或者
[root@localhost ~]# basename /etc/httpd/conf/httpd.conf .conf
httpd

Linux中的basename命令使用实例Linux中的basename命令使用实例
下面例子,使用-a选项指定多个文件,-s选项指定后缀内容:

[root@localhost ~]# basename -a -s .conf /etc/sysctl.conf /etc/httpd/conf/httpd.conf 
sysctl
httpd

删除末尾后缀的另一种方法是使用-s(–suffix = SUFFIX)选项指定后缀。上面实例中以展现。

使用实例

以下示例显示了如何在bash脚本中使用for循环、mv命令和basename命令,通过将当前目录下面的图片文件,文件扩展名从“ .jpg”替换为“ .jpeg”:

[root@localhost test]# vim convert.sh 

#!/bin/bash
for file in *.jpg
do
  mv "$file" "$(basename $file .jpg).jpeg"
done

Linux中的basename命令使用实例Linux中的basename命令使用实例
Linux中的basename命令使用实例Linux中的basename命令使用实例

以上就是良许教程网为各位朋友分享的Linux系统相关内容。想要了解更多Linux相关知识记得关注公众号“良许Linux”,或扫描下方二维码进行关注,更多干货等着你!

本文由 良许Linux教程网 发布,可自由转载、引用,但需署名作者且注明文章出处。如转载至微信公众号,请在文末添加作者公众号二维码。
良许

作者: 良许

良许,世界500强企业Linux开发工程师,公众号【良许Linux】的作者,全网拥有超30W粉丝。个人标签:创业者,CSDN学院讲师,副业达人,流量玩家,摄影爱好者。
上一篇
下一篇

发表评论

联系我们

联系我们

公众号:良许Linux

在线咨询: QQ交谈

邮箱: yychuyu@163.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

关注微博
返回顶部