我在我想重命名的目錄結構中有大量文件。反抽不工作
的文件名格式爲:
「AAAAAA-bbbbbb_cccccc-ddddd_eeeee-FFFFF-GGGGG-hhhhh.psd」
我希望他們以這種格式:
「AAAAAA-Bbbbbb_Cccccc-Ddddd_Eeeee-FFFFF -Ggggg-Hhhhh.psd
一個單一的發現和sed慣例應該將其轉化爲正確的格式:
find . -name "*psd" -exec sh -c "echo 'cp '{} `echo {} | sed 's/\([_-][a-z]\)\([A-Z]*\)/\2\U\1/g'`" \;
但它不工作:
輸入:
輔助 - 或自動/摘要渲染/輔助 - 或auto_abstract-render_tiny-bubbles3.psd
輸出:
CP ./Assisted-or-Auto/ Abstract-Render/assisted-or-auto_abstract-render_tiny-bubbles3.psd ./Assisted-or-Auto/Abstract-Render/assisted-or-auto_abstract-render_tiny-bubbles3.psd
sed例程工作,如果我刪除反引號並插入一個分號。
find . -name "*bubbles3.psd" -exec sh -c "echo 'cp '{} ; echo {} | sed 's/\([_-][a-z]\([A-Z]*\)/\2\U\1/g'" \;
cp ./Assisted-or-Auto/Abstract-Render/assisted-or-auto_abstract-render_tiny-bubbles3.psd
./Assisted-Or-Auto/Abstract-Render/assisted-Or-Auto_Abstract-Render_Tiny-Bubbles3.psd
所以,由於某種原因反向並不是做它應該做的事情。關於如何解決此問題的任何想法? FYI與 「$(CMD)」 代替反引號符號具有相同的效果
由於