サブフォルダから大きなディレクトリの親フォルダにファイルを移動する

サブフォルダから大きなディレクトリの親フォルダにファイルを移動する

サブフォルダの内容を親フォルダに移動し、現在空のサブフォルダを削除しようとしています。それぞれが一意のクライアント名を持つ複数の親フォルダでこれを実行したいと思います。ここで見ることができるフォルダ階層のスクリーンショットを撮りました >>>https://i.stack.imgur.com/Ve4Cj.png

各CLIENTフォルダには、1つのフォルダの上に移動する必要があるコンテンツを含む「#msgs」というサブフォルダがあります。私は次のような厄介な3段階の方法を使用しました。

cd /Users/SystemFive/Desktop/ROOT/PARENT\ DIRECTORY/CLIENT\ 1
mv \#msgs/* .

それから

find . -type d -name "#msgs" -exec rm -fvr "{}" \;

100を超えるクライアントフォルダに対してこれを行う必要があるため、これは私のプロジェクトにとって非常に面倒な作業です。私は、各クライアントフォルダを介して完全な親ディレクトリを実行できる一種のif / thenステートメントを作成する方向を探しています。助けてくれてありがとう。ありがとうございます!

フォルダ構造のスクリーンショット

ベストアンサー1

find . -iname '#msgs' | perl -pe 's/(.*)(#msgs)/mv "$1$2\/*" "$1";\nrm -r "$1$2";/g' | bash

それを省略し| bash、それが何をしているかを見てください

おすすめ記事