Você pode iterar em arquivos tar e movê-los para o diretório pai '..', assim:
for tar in $(find path -name '*.tar.gz'); do mv $tar $(dirname $tar)/..; done
Eu tenho arquivos tar.gz acessíveis a partir de
./parent/subfolder/tar_file_folder/*tar.gz
E eu quero encontrá-los e movê-los para o diretório ./parent/, portanto, um nível acima. No entanto, existem várias subpastas e tar_file_folders. Portanto, quero chamar meu comando das pastas pai.
Eu tentei esta linha de comando:
cd ./parent
find -name '*.tar.gz' -exec mv {} /path/to/single/target/directory \;
No entanto, não sei ao certo como especificar o caminho para um nível acima. Alguma ajuda?
Dois exemplos de caminho onde, neste caso, os arquivos tar devem ser movidos para a pasta ./AU-ASM ou ./AR-Vir/:
./AU-ASM/[email protected]/LT51030752011211-SC20161014133947.tar.gz
./AR-Vir/[email protected]/LT51030751995263-SC20161014133510.tar.gz’
E este é um exemplo de onde o tar.gz está armazenado:
./Landsat_Data/AR-Vir/[email protected]/*tar.gz
A linha de comando precisa ser executada a partir do diretório ./Landsat_Data/