
我可以從以下位置存取 tar.gz 文件
./parent/subfolder/tar_file_folder/*tar.gz
我想找到它們並將它們移動到 ./parent/ 目錄中,因此向上一級。但是,有幾個子資料夾和 tar_file_folders。因此,我想從父資料夾中呼叫我的命令。
我已經嘗試過這個命令列:
cd ./parent
find -name '*.tar.gz' -exec mv {} /path/to/single/target/directory \;
但是,我不太確定如何指定向上一級的路徑。有什麼幫助嗎?
兩個路徑範例,在這種情況下,tar 檔案必須移動到 ./AU-ASM 資料夾或 ./AR-Vir/ 資料夾:
./AU-ASM/[email protected]/LT51030752011211-SC20161014133947.tar.gz
./AR-Vir/[email protected]/LT51030751995263-SC20161014133510.tar.gz’
這是 tar.gz 儲存位置的範例:
./Landsat_Data/AR-Vir/[email protected]/*tar.gz
命令列需要從 ./Landsat_Data/ 目錄運行
答案1
您可以迭代 tar 檔案並將它們移到父目錄“..”,如下所示:
for tar in $(find path -name '*.tar.gz'); do mv $tar $(dirname $tar)/..; done