当前位置: 代码迷 >> 综合 >> Linux shell遍历文件夹 | 提取文件名和目录名
  详细解决方案

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

热度:39   发布时间:2023-09-15 07:01:21.0

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

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