您好,登录后才能下订单哦!
在Shell脚本中提取文件名和扩展名的方法?这个问题可能是我们日常学习或工作经常见到的。希望通过这个问题能让你收获颇深。下面是小编给大家带来的参考内容,让我们一起来看看吧!
有时你可能需要在不同的变量中提取文件名和扩展名来完成bash 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脚本中提取文件名和扩展名的方法大概了解了吗?希望文章内容对大家有所帮助。如果想了解更多相关文章内容,欢迎关注亿速云行业资讯频道。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。