
다음에서 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