2012-09-24 83 views
0

我想重命名多個文件(添加擴展名)不是目錄..我可以使用zmv的zsh與重命名zmv多個文件,但

autoload zmv 
zmv -n '(**/)(*)' '$1$2.myextension' 

而且這也將重新命名所有其內部的迪爾斯當前目錄...我能做些什麼來重命名只有文件(遞歸),並避免重命名?

回答

2

here

# Rename names of all files under the current Dir to lower case, but keep Dir names as-is. 
    $ zmv -Qv '(**/)(*)(.D)' '$1${(L)2}' 

所以我覺得(.D)是你所需要的。 'period'表示匹配常規文件(不是目錄),而D啓用GLOB_DOTS選項。

+0

非常感謝,但它也是必要的-Q :) –

+0

-Q做什麼? –

+0

「強制使用裸露遊標限定符,除非實際在模式中使用全侷限定符,否則不要將其打開。」 http://zsh.sourceforge.net/Doc/Release/User-Contributions.html#index-zmv –