0

そのため、特定のフォルダーの名前を再帰的に変更したいと考えています。ただし、そのフォルダーは常に同じ深さや位置にあるとは限りません。variablesフォルダ名を からに変更したいですconstant

したがって、variablesフォルダは深さ 2、および/または 3、および/または 4、および/または 5、6 などに配置されている可能性があります...私はそれを知りません

それは可能性があります

/var/me/variables/.../.../

また

/var/me/..../..../.../variables/...

また

/var/variables/..../variables/.../../variables/

私がもう一度欲しいのは、というフォルダがあるところならどこでもvariables、その名前をに変更することですconstant

次のコードを実行しましたが、機能しません

find var -type d -exec echo `echo "{}" | sed 's/variables/constant/g'` \;

任意の助けをいただければ幸いです。ありがとうございました!!

4

4 に答える 4

1

これは楽しいです!ここに私の2セントがあります:

find . -depth -type d -name variables -execdir mv -T {} constant \;

根拠:

  • -depthfind後で降りるパスの変更を回避します。おそらく省略可能です。
  • -execdirパス全体でゲームをプレイする必要がないため、ディレクトリのベース名でのみ操作できます
  • -Tにオプションを渡すと、ディレクトリが既に存在する必要がmvある場合は保釈されますconstant
于 2013-11-07T22:40:05.257 に答える