Command-Line
為沒有文件夾本身的文件夾中的每個文件創建一個文件夾
| folderA1 | fileA11, fileA12, ... folderA | folderA2 | fileA21, fileA22... | ... | ...
我想複製它表示為:
| folderA1 | folderA11, folderA12, ... folderB | folderA2 | folderA21, folderA22, ... | ... | ...
原始文件夾A(及其結構)保持原樣(未更改)。
我正在嘗試為(文件夾)A 中的每個文件在(文件夾)B 中創建一個**文件夾,而沒有文件夾本身。**我還想維護原始文件夾(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, ... | | ...
您可以從那裡
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}
將 each 重命名fileXY
為folderXY
。如果每個文件夾都包含文件,您可以刪除
-type d -o
.