簡體   English   中英

使用終端將文件移動到新的文件夾結構

[英]Move files to new folder structure using Terminal

一個簡單的問題:我需要使用Terminal中的一些shell腳本將圖像從舊目錄結構移動到新目錄結構。 舊的文件結構如下:

Parent.Folder -- Folder1
                 Folder2
                 Folder3

在每個FolderX中,我們都有更多文件夾:

Folder1 -- CAM1
           CAM2
           CAM3

在每個CAM文件夾中,我們都有圖像:

CAM1 -- image1.jpg
        image2.jpg
        image3.jpg

我需要切換文件夾結構,以便:

Parent.Folder -- CAM1
                 CAM2
                 CAM3

包含:

CAM1 -- Folder1 -- image1.jpg
                -- image2.jpg
                -- image3.jpg
     -- Folder2 -- ...etc...
     -- Folder3 -- ...etc...

該腳本需要動態,因為我需要將其應用於許多不同大小的數據集。

感謝任何幫助。 提前致謝!

$ cd parent.folder
$ find . -type f
./Folder3/CAM2/image3.jpg
./Folder3/CAM2/image2.jpg
./Folder3/CAM2/image1.jpg
./Folder3/CAM1/image3.jpg
./Folder3/CAM1/image2.jpg
./Folder3/CAM1/image1.jpg
./Folder2/CAM3/image3.jpg
./Folder2/CAM3/image2.jpg
./Folder2/CAM3/image1.jpg
./Folder2/CAM2/image3.jpg
./Folder2/CAM2/image2.jpg
./Folder2/CAM2/image1.jpg
./Folder2/CAM1/image3.jpg
./Folder2/CAM1/image2.jpg
./Folder2/CAM1/image1.jpg
./Folder1/CAM3/image3.jpg
./Folder1/CAM3/image2.jpg
./Folder1/CAM3/image1.jpg
./Folder1/CAM2/image3.jpg
./Folder1/CAM2/image2.jpg
./Folder1/CAM2/image1.jpg
./Folder1/CAM1/image3.jpg
./Folder1/CAM1/image2.jpg
./Folder1/CAM1/image1.jpg

$ for i in Folder*/CAM*/; do
    mkdir -p "$(basename $i)";
    mv "$i" "$(basename "$i")/$(dirname "$i")";
  done

 $ find . -type f
./CAM3/Folder2/image3.jpg
./CAM3/Folder2/image2.jpg
./CAM3/Folder2/image1.jpg
./CAM3/Folder1/image3.jpg
./CAM3/Folder1/image2.jpg
./CAM3/Folder1/image1.jpg
./CAM2/Folder3/image3.jpg
./CAM2/Folder3/image2.jpg
./CAM2/Folder3/image1.jpg
./CAM2/Folder2/image3.jpg
./CAM2/Folder2/image2.jpg
./CAM2/Folder2/image1.jpg
./CAM2/Folder1/image3.jpg
./CAM2/Folder1/image2.jpg
./CAM2/Folder1/image1.jpg
./CAM1/Folder3/image3.jpg
./CAM1/Folder3/image2.jpg
./CAM1/Folder3/image1.jpg
./CAM1/Folder2/image3.jpg
./CAM1/Folder2/image2.jpg
./CAM1/Folder2/image1.jpg
./CAM1/Folder1/image3.jpg
./CAM1/Folder1/image2.jpg
./CAM1/Folder1/image1.jpg

請注意,此代碼采用您提到的某些文件夾結構。 如果您在問題中提到的內容與實際情況有所不同,則可能不起作用。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM