加入收藏 | 设为首页 | 会员中心 | 我要投稿 衡阳站长网 (https://www.0734zz.cn/)- 数据集成、设备管理、备份、数据加密、智能搜索!
当前位置: 首页 > 教程 > 正文

Linux中使用 Basename

发布时间:2021-01-25 13:50:29 所属栏目:教程 来源:互联网
导读:basename接受多个文件 basename命令可以接受多个名称作为参数。可以使用-a(--multiple)选项,然后使用空格分隔文件列表。例如,要获取/etc/passwd和/etc/shadow的文件名,可以运行: [root@localhost~]#basename-a/etc/passwd/etc/shadow passwd shadow 以上

basename接受多个文件

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


  1. [root@localhost ~]# basename -a /etc/passwd /etc/shadow 
  2. passwd 
  3. shadow 

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

删除指定结尾的后缀

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


  1. [root@localhost ~]# basename /etc/hostname name 
  2. host 
  3. 另一种方法: 
  4. [root@localhost ~]# basename -s name /etc/hostname  
  5. host 

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

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

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


  1. [root@localhost ~]# basename -s .conf  /etc/httpd/conf/httpd.conf 
  2. httpd 
  3. 或者 
  4. [root@localhost ~]# basename /etc/httpd/conf/httpd.conf .conf 
  5. httpd 

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

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


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

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

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

使用实例

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


  1. [root@localhost test]# vim convert.sh  
  2.  
  3. #!/bin/bash 
  4. for file in *.jpg 
  5. do 
  6.   mv "$file" "$(basename $file .jpg).jpeg" 
  7. done 

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

总 结

basename命令的介绍到此为止,希望对你有帮助!

(编辑:衡阳站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读