サブフォルダーの移動または名前変更

サブフォルダーの移動または名前変更

次のフォルダ構造があります。

/ms/files/a/
/fb/files/a/
/db/files/a/

次のようにする必要があります。

/ms/files/b/
/fb/files/b/
/db/files/b/

以下を使用して、移動または名前を変更する必要があるフォルダを見つけることができます。

find . -path "*/files/a" -type d

しかし、結果の名前を変更するには?

ベストアンサー1

一方通行:

for d in /*/files/a/
do
  mv "$d" "${d%a/}b"
done

*...すべての初期の「クライアント」最上位ディレクトリと目的のサブディレクトリ構造を一致させるために使用されます/files/a/。その後、パラメータ拡張を使用してa/各パラメータの尾を削除し、名前を変更するためにパラメータをb「置換」します。

おすすめ記事