basename、dirname、rename

basename

提取路径中最后一个分隔符(/)之后的内容,如果路径不包含 / , 则返回该路径。

  -a, --multiple       支持多参数提取

  -s, --suffix=SUFFIX  移除尾部的后缀

Examples:

  basename /usr/bin/sort          -> "sort"

  basename include/stdio.h .h     -> "stdio"

  basename -s .h include/stdio.h  -> "stdio"

  basename -a any/str1 any/str2   -> "str1"< >"str2"

 

dirname

提取路径中最后一个分隔符(/)之前的内容,如果路径不包含 / , 则返回 . 代表当前目录。

Examples:

  dirname /usr/bin/          -> 输出 “/usr”

  dirname dir1/str dir2/str  -> 输出 “dir1”< > “dir2”

  dirname stdio            -> 输出“.”

 

rename

用字符串替换的方式批量修改文件名,rename支持通配符:? 替代单个字符,* 替代多个字符。

rename <origin> <target> <files>

origin:文件名中需要替换的字符串

target:要替换成的目标字符串

files:要修改的文件列表

Examples:

rename .c .o *.c      -> 将当前目录下所有的.c文件修改成.o文件

原文地址:https://www.cnblogs.com/tongyishu/p/13188851.html