Linux shell遍历文件夹 | 提取文件名和目录名

使用${} 提取字符串, 用于字符串的读取,提取和替换功能:

1、提取文件名

var=/dir1/dir2/file.txt

echo ${var##*/}

file.txt

2、提取后缀

echo ${var##*.}

txt

3、提取不带后缀的文件名,分两步

tmp=${var##*/}

echo $tmp

file.txt

echo ${tmp%.*}

file

4、提取目录

echo ${var%/*}

/dir1/dir2

使用文件目录的专有命令basename和dirname

1、提取文件名,注意:basename是一个命令,使用(),而不是

(),而不是{}

echo $(basename $var)

file.txt

2、提取不带后缀的文件名

echo $(basename $var .txt)

file

3、提取目录

dirname $var

/dir1/dir2

echo $(dirname $var)

/dir1/dir2

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容