basename命令只要是用于去除路径和文件后缀部分的文件名或者目录名,给basename指定一个路径,basename命令会删掉所有的前缀包括最后一个‘/’字符,然后将后缀的字符串显示出来。
创新互联公司是一家专注于网站设计、成都网站设计与策划设计,沅江网站建设哪家好?创新互联公司做网站,专注于网站建设十年,网设计领域的专业建站公司;建站业务涵盖:沅江等地区。沅江做网站价格咨询:13518219792
Centos7
在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/local
local
默认情况下,每条输出行以换行符(\n)结尾。要以NUL结尾,请使用-z(–zero)选项。
[root@localhost ~]# basename -z /usr/local
local[root@localhost ~]#
Linux中的basename命令使用实例Linux中的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
前面的内容了。 通常,此功能用于删除文件的扩展名:
[root@localhost ~]# basename -s .conf /etc/httpd/conf/httpd.conf
httpd
或者
[root@localhost ~]# basename /etc/httpd/conf/httpd.conf .conf
httpd
下面例子,使用-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
basename是一个命令行实用程序,可从给定的文件名中删除目录和后缀。
网站名称:详解Linuxbasename命令
当前路径:http://www.csdahua.cn/qtweb/news44/231244.html
网站建设、网络推广公司-快上网,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 快上网