Answers:
即使你不使用 zsh的 作为您的默认shell,您仍然可以使用 zmv 在一个临时shell:
zsh -c 'autoload zmv;$0 $@' zmv -w '*.txt' '$1.md'
递归:
zsh -c 'autoload zmv;$0 $@' zmv -w '**/*.txt' '$1$2.md'
注意: -n 选项对于测试很方便。
zmv 在...中描述 zshcontrib manpage,以及完整的glob语法描述 zshexpn “文件名生成”部分中的联机帮助页。
-w,每个通配符都被放入一个位置参数( $1, $2等)用于新名称;无 -w 必须包括括号以分隔匹配并放置在位置参数中的文本范围。所以,不要使用 -w 可能会让它更明显一点: zsh -c 'autoload zmv;$0 $@' zmv -n '(*).txt' '$1.md' 重命名全部 *.txt 结束的文件(在当前目录中) .md 代替 .txt; zsh -c 'autoload zmv;$0 $@' zmv -n '(**/)(*).txt' '$1$2.md' 同样在当前目录和所有子目录中。