Find

重命名多個目錄

  • July 28, 2012

我想找到最後一個名為doc的子目錄的所有目錄,然後將它們重命名為Doc。怎麼可以改名?

我有第一部分:

find -type d -name 'doc' 

它返回目錄路徑,如:

./foo/bar/doc
find . -depth -type d -name doc -exec sh -c 'mv "${0}" "${0%/doc}/Doc"' {} \;

在 zsh 中,您可以使用該zmv函式來批量重命名文件:

zmv '(**/)doc' '${1}Doc'

如果您有非目錄呼叫doc,請確保不要通過添加glob 限定符來匹配它們:

zmv -Q '(**/)doc(/)' '${1}Doc'

引用自:https://unix.stackexchange.com/questions/43902