您的当前位置:首页Linuxshell提取文件名和目录名

Linuxshell提取文件名和目录名

2024-02-29 来源:乌哈旅游
Linuxshell提取⽂件名和⽬录名

${}⽤于字符串的读取,提取和替换功能,可以使⽤${} 提取字符串1、提取⽂件名

[root@localhost log]# var=/dir1/dir2/file.txt[root@localhost log]# echo ${var##*/}file.txt

2、提取后缀

[root@localhost log]# echo ${var##*.}txt

3、提取不带后缀的⽂件名,分两步[root@localhost log]# tmp=${var##*/}[root@localhost log]# echo $tmpfile.txt

[root@localhost log]# echo ${tmp%.*}file

4、提取⽬录

[root@localhost log]# echo ${var%/*}/dir1/dir2

使⽤⽂件⽬录的专有命令basename和dirname

1、提取⽂件名,注意:basename是⼀个命令,使⽤$(), ⽽不是${}[root@localhost log]# echo $(basename $var)file.txt

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

[root@localhost log]# echo $(basename $var .txt)file

3、提取⽬录

[root@localhost log]# dirname $var/dir1/dir2

[root@localhost log]# echo $(dirname $var)/dir1/dir2

因篇幅问题不能全部显示,请点此查看更多更全内容