
tar.gzファイルにアクセスできるようになりました
./parent/subfolder/tar_file_folder/*tar.gz
そして、それらを見つけて ./parent/ ディレクトリに移動して、1 レベル上に移動したいと考えています。ただし、サブフォルダーと tar_file_folders がいくつかあります。したがって、親フォルダーからコマンドを呼び出したいと思います。
次のコマンド ラインを試しました:
cd ./parent
find -name '*.tar.gz' -exec mv {} /path/to/single/target/directory \;
しかし、1 レベル上のパスを指定する方法がよくわかりません。何か助けはありますか?
この場合、tar ファイルを ./AU-ASM フォルダーまたは ./AR-Vir/ フォルダーに移動する必要があるパスの例が 2 つあります。
./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