フォルダ自体ではなく、フォルダ内の各ファイルのフォルダを作成します。

フォルダ自体ではなく、フォルダ内の各ファイルのフォルダを作成します。
        | folderA1 | fileA11, fileA12, ...
folderA | folderA2 | fileA21, fileA22...
        |  ...     | ... 

次のように表現してコピーしたいと思います。

        | folderA1 | folderA11, folderA12, ...
folderB | folderA2 | folderA21, folderA22, ...
        | ...      |  ...

元のフォルダA(およびその構造)はそのまま残ります(変更されていません)。

フォルダ(フォルダ)Bはフォルダ自体を除く(フォルダ)Aのすべてのファイルを意味します.また、元のフォルダ(A)のディレクトリ構造を維持したいと思います。

使用この問題上記のビルドを達成できますが、フォルダA自体が含まれています。

find source/. -type d -exec mkdir -p dest/{} \; \
   -o -type f -exec mkdir -p dest/{} \;

良い:

         |         | folderA1 | folderA11, folderA12, ...
 folderB | folderA | folderA2 | folderA21, folderA22, ...
         |         | ...

ベストアンサー1

そこからcd入り、folderA次のコマンドを実行できます。

cd folderA
find . -type d -o -type f -exec bash -c '
  for path; do mkdir -p "/path/to/folderB/${path/file/folder}"; done
' bash {} +

パラメータ拡張は${path/file/folder}それぞれfileXYの名前をfolderXY

各フォルダにファイルが含まれている場合は、そのファイルを削除できます-type d -o

おすすめ記事