Linux Shell命令系列--basename获取基本文件名

一、目的

        学习linux shell编程的第一步就是熟悉linux的各种命令的使用,本篇开始逐次介绍一些常用linux shell命令。

        今天我们来讲解basename命令的使用。

二、介绍

        1、基本概念

        

        basename命令首先去除字符串末尾多余的斜杠(如果有的话),然后删除从最后一个斜杠(如果有的话)之前的所有内容,并且如果指定了suffix(后缀),输出结果中也会删除匹配的suffix。


        2、使用示例

        下面命令中的文件或者路径不一定是真实存在的,basename的输入参数只是字符串而已。 

#输出4.txt
basename /1/2/3/4.txt

 

#输出4.txt
basename /1/2/3/4.txt/

 

#输出4.txt
basename 4.txt

 

        去除指定后缀的命令

basename -s .txt /1/2/3/4.txt/
basename -s .txt /1/2/3/4.txt

 

        另外一种去除指定后缀的方法:

basename  /1/2/3/4.txt .txt
basename  /1/2/3/4.txt/ .txt

 

        指定不匹配的后缀对结果没有影响

basename  /1/2/3/4.txt/ .abc

 

        通过-a选项同时操作多个文件名或者路径名称

basename -a /1/2/3/4.txt a/b

 

        同时指定需要去除的后缀

basename -s .txt -a /1/2/3/4.txt a/b

 

        上图中我们发现输出结果是分行显示的,我们也可以指定参数实现拼接

basename -s .txt -z -a /1/2/3/4.txt a/b

 

        注意结果显示为"4b"。

以上,就是basename的基本内容。 

  • 6
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Linux下,可以使用以下几种方法来获取文件夹下的文件名: 1. 使用ls命令:可以使用ls命令获取指定文件夹下的文件名。例如,要获取当前目录下的所有文件名,可以执行命令:`ls`。要获取指定目录(如/home/user/Documents)下的所有文件名,可以执行命令:`ls /home/user/Documents`。使用ls命令还可以使用相关选项,如`ls -l`可以显示文件的详细信息,`ls -a`可以显示包括隐藏文件在内的所有文件。 2. 使用find命令:可以使用find命令来递归地查找指定目录下的文件,并获取文件名。例如,要获取当前目录下的所有文件名,可以执行命令:`find .`。要获取指定目录下的所有文件名,可以执行命令:`find /home/user/Documents`。 3. 使用ls命令配合管道和其他命令:可以使用ls命令结合管道和其他命令来进一步处理获取文件名。例如,要获取当前目录下的所有文件名,并将其存储到一个文件中,可以执行命令:`ls > filenames.txt`。要获取指定目录下的所有文件名,并将包含特定字符串的文件名输出到屏幕上,可以执行命令:`ls /home/user/Documents | grep "string"`。 4. 使用shell脚本编程:还可以使用shell脚本编程来获取文件夹下的文件名。可以使用for循环结合通配符来遍历文件夹,并获取文件名。例如,以下是一个获取指定目录下文件名的示例脚本: ```shell #!/bin/bash directory="/home/user/Documents" for file in $directory/*; do echo $(basename "$file") done ``` 以上是几种常见的方法,可以根据具体需求选择合适的方法来获取文件夹下的文件名

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值