別の圧縮(tgz)ファイルがありますが、圧縮ファイル名でディレクトリ名を作成し、圧縮ファイルをそのフォルダに移動してから解凍したいと思います。
例:-
圧縮ファイルが2つありますが、
email_raw_data_latest-2017-08-01-22-00-01.tgz
email_raw_data_latest-2017-08-02-22-00-01.tgz
email_raw_data_latest-2017-08-03-22-00-01.tgz
このように最初のディレクトリを作成したいと思います。
email_raw_data_latest-2017-08-01-22-00-01
email_raw_data_latest-2017-08-02-22-00-01
email_raw_data_latest-2017-08-03-22-00-01
圧縮されたファイルを適切なフォルダに移動して解凍します。詰まった。助けてください。
答え1
GNUには、tarファイルを操作する前にディレクトリを変更する(別名)オプションtar
があります。これにより、次のことができます。-C
--directory
for t in *.tgz ; do
bn="$(basename "$t" .tgz)"
mkdir -p "$bn"
tar xfz "$t" -C "$bn"
mv "$t" "$bn"
done
答え2
$ tar -xf email_raw_data_latest-2017-08-01-22-00-01.tgz --one-top-level
$ tar -xf email_raw_data_latest-2017-08-02-22-00-01.tgz --one-top-level
$ tar -xf email_raw_data_latest-2017-08-03-22-00-01.tgz --one-top-level
--トップレベル[= DIR]
すべてのファイルをDIRとして抽出するか、引数なしで使用する場合は、アーカイブのデフォルト名(--auto-compressで認識される標準の圧縮サフィックスの減算)に沿って名前付きサブディレクトリに抽出します。