文件夾組織
我有幾個文件夾(“amazon”、“niger”、“rhine”、…)。在每個文件夾中,我都有幾個子文件夾(“gfdl”、“hadgem”、“ipsl”、…)。每個子文件夾由 5 個子文件夾組成(例如,在“amazon”中,子文件夾“gfdl”由 5 個子文件夾 ‘amazon_gfdl’、‘amazon_gfdl1’、…、‘amazon_gfdl5’)組成;其他子文件夾遵循相同的結構(例如,在“amazon”中,子文件夾“ipsl”由 5 個子文件夾“amazon_ipsl”、“amazon_ipsl1”、“amazon_ipsl2”、…直到“amazon_ipsl5”組成。我有大量文件夾遵循相同的組織框架。因此,我的問題如下:如何組織每個文件夾和子文件夾,以便在每個子文件夾中(“gfdl”,“hadgem”,“ipsl”,…),創建了 4 個新目錄(“1”、“2”、“3”、“4”);然後將文件夾例如“amazon_gfdl”(已經存在於“gfdl”中)複製到每個新目錄中,最後將“amazon_gfdl1”移動到新目錄“1”,“amazon_gfdl2”移動到新目錄“2”,以此類推!我目前正在使用命令 cp 並在每個子文件夾中移動,但它並不是很有效,我可能需要額外的生命來結束這樣的任務!因此,任何幫助或提示將不勝感激。非常感謝你!(已經存在於“gfdl”中)被複製到每個新目錄中,最後“amazon_gfdl1”移動到新目錄“1”,“amazon_gfdl2”移動到新目錄“2”,依此類推!我目前正在使用命令 cp 並在每個子文件夾中移動,但它並不是很有效,我可能需要額外的生命來結束這樣的任務!因此,任何幫助或提示將不勝感激。非常感謝你!(已經存在於“gfdl”中)被複製到每個新目錄中,最後“amazon_gfdl1”移動到新目錄“1”,“amazon_gfdl2”移動到新目錄“2”,依此類推!我目前正在使用命令 cp 並在每個子文件夾中移動,但它並不是很有效,我可能需要額外的生命來結束這樣的任務!因此,任何幫助或提示將不勝感激。非常感謝你!我目前正在使用命令 cp 並在每個子文件夾中移動,但它並不是很有效,我可能需要額外的生命來結束這樣的任務!因此,任何幫助或提示將不勝感激。非常感謝你!我目前正在使用命令 cp 並在每個子文件夾中移動,但它並不是很有效,我可能需要額外的生命來結束這樣的任務!因此,任何幫助或提示將不勝感激。非常感謝你!
你可以寫一個小腳本來為你做這件事,按照這些構想(根據需要調整,我不確定我的故事是否正確):
> cat tst.sh #!/bin/bash for river in amazon niger rhine ; do for name in gfdl hadgem ipsl ; do for count in 1 2 3 4 ; do mkdir ${river}/${name}/${count} cp -a ${river}/${name}/${river}_${name} ${river}/${name}/${count} mv ${river}/${name}/${river}_${name}${count} ${river}/${name}/${count} done done done
在執行它之前:
> find . | sort . ./amazon ./amazon/gfdl ./amazon/gfdl/amazon_gfdl ./amazon/gfdl/amazon_gfdl1 ./amazon/gfdl/amazon_gfdl2 ./amazon/gfdl/amazon_gfdl3 ./amazon/gfdl/amazon_gfdl4 ./amazon/gfdl/amazon_gfdl5 ...
結果:
> chmod u+x tst.sh > ./tst.sh > find . | sort . ./amazon ./amazon/gfdl ./amazon/gfdl/1 ./amazon/gfdl/1/amazon_gfdl ./amazon/gfdl/1/amazon_gfdl1 ./amazon/gfdl/2 ./amazon/gfdl/2/amazon_gfdl ./amazon/gfdl/2/amazon_gfdl2 ./amazon/gfdl/3 ./amazon/gfdl/3/amazon_gfdl ./amazon/gfdl/3/amazon_gfdl3 ./amazon/gfdl/4 ./amazon/gfdl/4/amazon_gfdl ./amazon/gfdl/4/amazon_gfdl4 ./amazon/gfdl/amazon_gfdl ./amazon/gfdl/amazon_gfdl5 ...