名前を変更したいディレクトリ構造に多数のファイルがあります。バックティックが動作しない
ファイル名がこの形式である:
"AAAAAA-bbbbbb_cccccc-ddddd_eeeee-FFFFF-GGGGG-hhhhh.psd"
私はこの形式でそれらをしたい:
「AAAAAA-Bbbbbb_Cccccc-Ddddd_Eeeee-FFFFF -Ggggg-Hhhhh.psd
単一のfindと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/抽象レンダリング/アシスト/アシスト/オートアブストラクトレンダリングタイニーバブル3.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表記が同じ効果を有する
おかげ