美文网首页Linux
linux 文件路径截取 basename,dirname

linux 文件路径截取 basename,dirname

作者: 春秋不做梦 | 来源:发表于2022-01-24 09:57 被阅读0次

    basename

    1. 命令简介

    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

    1. 命令简介

    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 /
    /
    

    相关文章

      网友评论

        本文标题:linux 文件路径截取 basename,dirname

        本文链接:https://www.haomeiwen.com/subject/koqbhrtx.html