有时你可能需要在不同的变量中提取文件名和扩展名来完成bash shell编程中的任务。本篇文章将介绍从完整的文件名或路径中提取文件名和文件扩展名。

以下是详细的内容
1、获取没有路径的文件名:
首先从输入文件名中删除完整的文件路径。例如,如果文件名输入为/etc/apache2/apache2.conf,则仅提取完整文件名为apache.conf.
#!/bin/bashfullfilename="/etc/apache2/apache2.conf"filename=$(basename "$fullfilename")echo $filename
2、没有扩展名的文件名:
现在,从提取的不带路径的完整文件名中提取不带扩展名的文件名,如下所示。
#!/bin/bashfullfilename="/etc/apache2/apache2.conf"filename=$(basename "$fullfilename")fname="${filename%.*}"echo $fname
3、没有名称的文件扩展名:
NameGPT名称生成器
免费AI公司名称生成器,AI在线生成企业名称,注册公司名称起名大全。
0 查看详情
现在从提取的不带路径的完整文件名中提取不带名称的文件扩展名。
#!/bin/bashfullfilename="/etc/apache2/apache2.conf"filename=$(basename "$fullfilename")ext="${filename##*.}"echo $ext
4、测试:
最后在一个shell脚本中测试所有内容。使用以下内容创建新的脚本文件。在执行脚本期间,文件名将作为命令行参数传递。
#!/bin/bashfullfilename=$1filename=$(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.confInput File: /etc/apache2/apache2.confFilename without Path: apache2.confFilename without Extension: apache2File Extension without Name: conf
本篇文章到这里就已经全部结束了,更多其他精彩内容可以关注PHP中文网的Linux教程视频栏目!
以上就是如何在Shell脚本中提取文件名和扩展名的详细内容,更多请关注创想鸟其它相关文章!
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/554323.html
微信扫一扫
支付宝扫一扫