主页 > 知识库 > 使用Bash Shell获取文件名和目录名的简单方法

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

热门标签:宁波智能外呼系统公司 联通电话机器人怎么接 申请公司400电话要注意什么 奥维互动地图标注参数 卫星地图标注地名 安装外呼系统费用 电销机器人 剑鱼 曲阜400电话办理 地图标注辐射图案

前言
还是今天再写一个自动化打包脚本,用到了从路径名中获取最后的文件名。这里记录一下实现过程。当然,最后我也会给出官方的做法。(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删除目录中的特定文件的3种方法
  • Shell脚本bash: ./t.sh:/bin/bash^M:损坏的解释器: 没有那个文件或目录
  • 使用Bash Shell对目录中的文件实现递归式拷贝
  • 判断文件是否存在的shell脚本代码
  • Shell逐行读取文件的4种方法
  • shell去掉文件中空行(空白行)的方法详解
  • shell脚本中执行时提示“没有那个文件或目录”的解决办法
  • shell按行读取文件的3种方法
  • Shell脚本统计文件行数的8种方法
  • 使用Bash Shell检查文件是否存在的方法

标签:仙桃 安康 大庆 大兴安岭 三门峡 遵义 江西 上饶

巨人网络通讯声明:本文标题《使用Bash Shell获取文件名和目录名的简单方法》,本文关键词  使用,Bash,Shell,获取,文件名,;如发现本文内容存在版权问题,烦请提供相关信息告之我们,我们将及时沟通与处理。本站内容系统采集于网络,涉及言论、版权与本站无关。
  • 相关文章
  • 下面列出与本文章《使用Bash Shell获取文件名和目录名的简单方法》相关的同类信息!
  • 本页收集关于使用Bash Shell获取文件名和目录名的简单方法的相关信息资讯供网民参考!
  • 推荐文章