获取文件名与目录名的几种方式


1.使用basename dirname

1)basename返回路径中的文件名部分

用法:

basename(path,suffix) 

path 必须,输入路径

suffix 可选,文件扩展名。如果文件名有文件扩展名,将不会显示这个扩展名。

举栗:

  basename /home/Project/Myjob/hello.txt #输出hello.txt

  basename /home/Project/Myjob/hello.txt  .txt  #输出hello

  basename /home/Project/Myjob/  #输出Myjob 

2)从路径中获取目录名

用法:

  dirname path

  path 必须,输入路径

举栗:

  dirname /home/Project/Myjob/hello.txt #输出/home/Project/Myjob

  dirname /home/Project/Myjob #输出/home/Project

  dirname /home/Project/Myjob /home/Project  #输出home/Project /home

dirname后的路径可以有多个

3)举栗:

var=/home/Project/Myjob/hello.txt

echo $(basename $var)           结果:hello.txt

echo $(basename $var .txt)     结果:hello

echo $(dirname $var)   结果:/home/Project/Myjob

2.使用字符串截取的方式

路径:var=/home/Project/Myjob/hello.txt

${var##*/}  获取文件名 hello.txt

${var##*.}  获取文件后缀txt,若后缀为file.tar.gz则可用${var#*.} 

${var%/*} 获取文件所在目录结构 即/home/Project/Myjob


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM