查找所有 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

相关内容