
以下から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つのレベルの上にパスを指定する方法がわかりません。助けが必要ですか?
2つのパスの例。この場合、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