尋找所有 tar.gz 檔案並將其移至下一級目錄

尋找所有 tar.gz 檔案並將其移至下一級目錄

我可以從以下位置存取 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

相關內容