使用Bash Shell获取文件名和目录名的简单方法

发布时间:2022-04-19 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了使用Bash Shell获取文件名和目录名的简单方法脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。

前言
还是今天再写一个自动化打包脚本,用到了从路径名中获取最后的文件名。这里记录一下实现过程。当然,最后我也会给出官方的做法。(ps:很囧,实现完了才发现原来Bash Shell有现成的函数)

获取文件名
假设给定的路径名为:

 /tmp/csdn/zhengyi/test/zhengyi.txt 

awk解法
用“/”做分隔符,然后打印出最后的那一部分。实现代码如下:

 resFile=`echo /tmp/csdn/zhengyi/test/adb.LOG | awk -F "/" '{PRint $NF}'` 

官方解法(basename)
Bash Shell本身提供了basename命令,可以直接获取路径名最后的文件名,实现代码如下:

 resFile=`basename /tmp/csdn/zhengyi/test/adb.log` 


获取目录名
官方解法(dirname)
Bash Shell本身提供了dirname命令,特别方便,可以直接获取路径对应的目录名,实现代码如下:

 dirPath=`dirname /tmp/csdn/zhengyi/test/adb.log` 


awk解法
可以灵活的使用分隔符,混合正则表达式:

 dirPath=`echo /tmp/csdn/zhengyi/test/adb.log | awk -F '/[^/]*$' '{print $1}'` 


awk+for循环的方法:

 echo /tmp/csdn/zhengyi/test/adb.log | awk 'BEgin{res=""; FS="/";}{ for(i=2;i<=NF-1;i++) res=(res"/"$i);} END{print res}' 

脚本宝典总结

以上是脚本宝典为你收集整理的使用Bash Shell获取文件名和目录名的简单方法全部内容,希望文章能够帮你解决使用Bash Shell获取文件名和目录名的简单方法所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。
标签: