basename
- 命令简介
basename 命令从文件路径中剥离目录和后缀,以获取文件的基本名称。与 dirname 命令作用相反,dirname 用于获取目录部分。
2.命令格式
basename NAME [SUFFIX]
basename OPTION... NAME...
3.选项说明
长选项的强制参数对于短选项也是强制的。
-a, --multiple
支持多个文件名称参数,将每一个参数当做文件名对待
-s, --suffix=SUFFIX
移除后缀
-z, --zero
以空字符 NUL 分隔输出而不是换行符
--help
显示帮助并退出
--version
显示版本并退出
4.常用示例
(1)获取文件名,不包含目录。
$basename /var/log/zabbix/zabbix_agentd.log
zabbix_agentd.log
(2)获取文件名,不包含目录与后缀。
$basename /var/log/zabbix/zabbix_agentd.log .log
zabbix_agentd
(3)同时获取多个文件名,不包含目录与后缀。
$basename -a -s .log /var/log/zabbix/zabbix_agentd.log /var/log/mail.log
zabbix_agentd
mail
(4)如果路径最后一个是目录,那么即匹配最后一个目录的名字。
$basename /var/log/zabbix/
zabbix
dirname
- 命令简介
dirname 命令从文件路径中获取文件目录。作用与 basename 命令相反,basename 用于获取文件名。
如果文件路径中不包含 /,那么输出 . 表示当前目录。如果文件路径最后一个字符是 /,那么剥离倒数第二个 / 及其后的内容。
2.命令格式
dirname [OPTION] NAME...
3.选项说明
-z, --zero
用空字符 NUL 而不是换行符分隔输出
--help
显示帮助并退出
--version
显示版本并退出
4.常用示例
(1)获取目录部分,剥掉文件名。
$dirname /var/log/zabbix/zabbix_agentd.log
/var/log/zabbix
(2)获取目录部分,剥掉文件名,后跟多个文件路径。
$dirname /var/log/zabbix/zabbix_agentd.log /var/log/mail.log
/var/log/zabbix
/var/log
(3)获取目录的目录。即如果文件路径最后一个字符是 /,那么剥离倒数第二个 / 及其后的内容。
$dirname /var/log/zabbix/
/var/log
(4)如果文件路径中不包含 /,那么输出 . 表示当前目录。
$dirname bdLY.py
.
(5)路径是根目录的特殊情况。不剥除任何内容,输出 /。
dirname /
/
网友评论