设为首页收藏本站language→→ 语言切换

鸿鹄论坛

 找回密码
 论坛注册

QQ登录

先注册再绑定QQ

查看: 1127|回复: 4
收起左侧

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

[复制链接]
发表于 2021-8-6 01:40:43 | 显示全部楼层 |阅读模式
basename是一个命令行中实用的小工具,可从给定的文件名中删除目录和后缀。
系统环境

Centos7

如何使用basename命令

在Centos7系统中,已经默认安装了basename命令了,该命令包含在coreutils安装包里。


                               
登录/注册后可看大图

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/locallocal

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

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


                               
登录/注册后可看大图

basename接受多个文件

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

[root@localhost ~]# basename -a /etc/passwd /etc/shadowpasswdshadow删除指定结尾的后缀

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

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

上面例子中,指定name为后缀,可以看到输出结果中只显示/后面和name前面的内容了。


                               
登录/注册后可看大图

通常,此功能用于删除文件的扩展名:

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


                               
登录/注册后可看大图

下面例子,使用-a选项指定多个文件,-s选项指定后缀内容:

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

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

使用实例

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

[root@localhost test]# vim convert.sh #!/bin/bashfor file in *.jpgdo  mv "$file" "$(basename $file .jpg).jpeg"done


                               
登录/注册后可看大图


                               
登录/注册后可看大图

总结

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


发表于 2021-8-6 09:39:40 | 显示全部楼层
好东西谢谢楼主分享
沙发 2021-8-6 09:39:40 回复 收起回复
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 论坛注册

本版积分规则

QQ|Archiver|手机版|小黑屋|sitemap|鸿鹄论坛 ( 京ICP备14027439号 )  

GMT+8, 2025-1-23 20:17 , Processed in 0.053347 second(s), 11 queries , Redis On.  

  Powered by Discuz!

  © 2001-2025 HH010.COM

快速回复 返回顶部 返回列表