在Shell脚本中提取文件名和扩展名的方法-创新互联

在Shell脚本中提取文件名和扩展名的方法?这个问题可能是我们日常学习或工作经常见到的。希望通过这个问题能让你收获颇深。下面是小编给大家带来的参考内容,让我们一起来看看吧!

创新互联-专业网站定制、快速模板网站建设、高性价比灞桥网站开发、企业建站全套包干低至880元,成熟完善的模板库,直接使用。一站式灞桥网站制作公司更省心,省钱,快速模板网站建设找我们,业务覆盖灞桥地区。费用合理售后完善,10多年实体公司更值得信赖。

有时你可能需要在不同的变量中提取文件名和扩展名来完成bash shell编程中的任务。

在Shell脚本中提取文件名和扩展名的方法

以下是详细的内容

1、获取没有路径的文件名:

首先从输入文件名中删除完整的文件路径。例如,如果文件名输入为/etc/apache2/apache2.conf,则仅提取完整文件名为apache.conf.

#!/bin/bash

fullfilename="/etc/apache2/apache2.conf"
filename=$(basename "$fullfilename")
echo $filename

2、没有扩展名的文件名:

现在,从提取的不带路径的完整文件名中提取不带扩展名的文件名,如下所示。

#!/bin/bash
fullfilename="/etc/apache2/apache2.conf"
filename=$(basename "$fullfilename")
fname="${filename%.*}"
echo $fname

3、没有名称的文件扩展名:

现在从提取的不带路径的完整文件名中提取不带名称的文件扩展名。

#!/bin/bash

fullfilename="/etc/apache2/apache2.conf"
filename=$(basename "$fullfilename")
ext="${filename##*.}"
echo $ext

4、测试:

最后在一个shell脚本中测试所有内容。使用以下内容创建新的脚本文件。在执行脚本期间,文件名将作为命令行参数传递。

#!/bin/bash

fullfilename=$1
filename=$(basename "$fullfilename")
fname="${filename%.*}"
ext="${filename##*.}"

echo "Input File: $fullfilename"
echo "Filename without Path: $filename"
echo "Filename without Extension: $fname"
echo "File Extension without Name: $ext"

我们以文件名作为命令行参数来执行脚本。

$ ./script.sh /etc/apache2/apache2.conf

Input File: /etc/apache2/apache2.conf
Filename without Path: apache2.conf
Filename without Extension: apache2
File Extension without Name: conf

感谢各位的阅读!看完上述内容,你们对在Shell脚本中提取文件名和扩展名的方法大概了解了吗?希望文章内容对大家有所帮助。如果想了解更多相关文章内容,欢迎关注创新互联成都网站设计公司行业资讯频道。

另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。


网站标题:在Shell脚本中提取文件名和扩展名的方法-创新互联
分享URL:http://scyanting.com/article/pcjce.html