1.需求描述
现存在以下文件列表:
[root@localhost logan]# ls
test1.txt test2.txt
需要只提取出文件名,而不需要后缀名,如:test1、test2
2.实现代码
[root@localhost logan]# for file_name in `ls ./ `;do basename $file_name .txt;done
test1
test2
3.basename的用法
3.1 语法
basename(选项)(参数)
3.2 选项
--help:显示帮助;
--version:显示版本号。
3.3 命令格式
basename 名称 [后缀]
basename 选项
3.4 实战演练
# 显示文件名,不包含目录
[root@localhost logan]# basename /home/logan/test1.txt
test1.txt
# 显示文件名,不包含目录与后缀
[root@localhost logan]# basename /home/logan/test1.txt .txt
test1
#----或者:-s指定移出的后缀
[root@localhost logan]# basename -s .txt /home/logan/test1.txt
test1
# 将多个参数按照顺序输出
[root@localhost logan]# basename -a /home/logan/test1.txt /home/logan/test2.txt
test1.txt
test2.txt
# 显示最后一个目录的名字
[root@localhost logan]# basename /home/logan
logan