Linux中如何使用Basename命令-古蔺大橙子建站
RELATEED CONSULTING
相关咨询
选择下列产品马上在线沟通
服务时间:8:30-17:00
你可能遇到了下面的问题
关闭右侧工具栏

新闻中心

这里有您想知道的互联网营销解决方案
Linux中如何使用Basename命令

小编给大家分享一下Linux中如何使用Basename命令,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!

成都创新互联公司长期为上1000家客户提供的网站建设服务,团队从业经验10年,关注不同地域、不同群体,并针对不同对象提供差异化的产品和服务;打造开放共赢平台,与合作伙伴共同营造健康的互联网生态环境。为孝南企业提供专业的网站建设、成都网站设计孝南网站改版等技术服务。拥有10年丰富建站经验和众多成功案例,为您定制开发。

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

系统环境

Centos7

如何使用basename命令

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

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命令

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命令

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

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

<以上代码可复制粘贴,可往左滑>

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命令
标题网址:http://scgulin.cn/article/jgdjih.html