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'
同样在当前目录和所有子目录中。