过滤文件路径或后缀命令dirname与basename

4087阅读 0评论2012-08-27 无赖皮肤
分类:LINUX



在shell脚本编程中,有的时候希望得到某个文件的目录信息或者去掉路径的文件 名信息。

dirname和basename就是这样的两个命令。


1 dirname: 去除文件中非目录部分


语法格式:dirname [option] [argument]


argument: 带目录的文件名,如/usr/bin/emacs


实例: 仅仅显示文件名中的目录信息

~/audio/Bash/Source$ dirname /usr/bin/emacs /usr/bin

如果参数没有斜线,那么它就会打印一个'.',表示当前目录

~/audio/Bash/Source$ dirname emacs.el .


2 basename: 去掉文件名中的路径和后缀

语法格式:basename [option] [argument] 

argument: 

文件:带有路径信息的文件名,如/usr/bin/emacs 

后缀:如果带有此项,则表示取出相应后缀,不带不去除。


实例: 如果没有后缀,则显示带后缀的文件名

~/audio/Bash/Source$ basename /usr/bin/emacs.el emacs.el

有后缀的话,会显示去除后缀的文件名

~/audio/Bash/Source$ basename /usr/bin/emacs.el .el emacs

上一篇:github生成SSH公钥
下一篇:Git安装