同じデフォルト名を持つディレクトリに抽出するには、tarを使用しますか?

同じデフォルト名を持つディレクトリに抽出するには、tarを使用しますか?

たとえば、zipファイルがありますmyArchive123.tar.gz。その中には次のフォルダが含まれています。helloWorld

以下を使用して抽出するとtar -xf myArchive123.tar.gzhelloWorld

ls 
myArchive123.tar.gz
helloWorld 

出力がファイル名から拡張子を引いたものと同じになりたいです.tar.gz。つまり:

tar <magic paramaters> myArchive123.tar.gz 
ls 
 myArchive123.tar.gz
 myArchive123
cd myArchive123
ls 
  helloWorld

これは可能ですか?

  • 私はアーカイブに何があるのか​​分かりません。フォルダでも複数のファイルでもかまいません。
  • tarができない場合は、他のツールを使用できます。
  • スクリプトに変換できるより長い形式も問題ありません。

編集する
その間、私はそれをやっているように見えるスクリプトを自分で書いていました(下記の回答を参照)。最も重要なことは、1行のコードでパッケージ化する必要があるということです。たとえば、次のようになります。

extract <file>

ベストアンサー1

$ tar -xf myArchive123.tar.gz --one-top-level

--トップレベル[= DIR]
すべてのファイルをDIRとして抽出するか、引数なしで使用する場合は、アーカイブのデフォルト名(--auto-compressで認識される標準の圧縮サフィックスの減算)に沿って名前付きサブディレクトリに抽出します。

おすすめ記事