Basename
basename是一个标准UNIX计算机程序。当向basename传递一个路径名时,它会删除任何前缀,直到最后一个斜线('/'
)字符,然后返回结果。单一UNIX规范中描述了basename。其主要用于shell脚本中。
用法
单一UNIX规范中的basename格式如下。
basename string [suffix]
- string
- 路径名
- suffix
- 若指定,则basename也将删除此后缀。
示例
$ basename /home/jsmith/base.wiki base.wiki
$ basename /home/jsmith/base.wiki .wiki base
性能
由于basename只接受一个操作数,在shell脚本的内层循环使用它可能会影响性能。考虑
while read file; do basename "$file" ; done < some-input
以上片段会导致每一个输入行都会调用一个单独的进程。出于这个原因,通常用于壳层替代代替
echo "${file##*/}";
参见
- Unix实用程序列表
dirname
- 路径
外部链接
basename
: return non-directory portion of a pathname – 命令与工具(Commands & Utilities)参考,单一UNIX®规范第7期,由國際開放標準組織发布basename
: strip directory and suffix from filenames – 参考,单一UNIX®规范第7期,由國際開放標準組織发布
- 查
- 论
- 编
- awk
- banner(英语:banner (Unix))
- basename
- comm(英语:comm)
- csplit(英语:csplit)
- cut
- diff
- dirname
- ed
- ex
- fmt(英语:fmt)
- fold(英语:fold (Unix))
- head(英语:head (Unix))
- iconv
- join(英语:join (Unix))
- less
- more
- nl(英语:nl (Unix))
- paste(英语:paste (Unix))
- sed
- sort(英语:sort (Unix))
- spell(英语:spell (Unix))
- strings(英语:strings (Unix))
- tail
- tr
- uniq(英语:uniq)
- vi
- wc
- xargs
- alias
- echo
- printf格式字符串
- test(英语:test (Unix))
- unset
- wait
- apropos(英语:apropos (Unix))
- help(英语:help (command))
- man