1つのtarファイルに複数のtarファイルから1つのファイルを抽出します。

1つのtarファイルに複数のtarファイルから1つのファイルを抽出します。

複数の「.tar.gz」ファイルを含む「.tar」ファイルがあります。各「.tar.gz」内に必要な「.faa」ファイルがあります。私は他のすべてを分解したくありません。

ここでは古い質問をたくさん検索しましたが、コードの一部に閉じ込められているようです。私が読んだ内容に基づいて、次のように書きました。

tar -zxOf /pathtofolder/folder1.tar ".tar.gz" | tar -zxvf - '.faa' 

ただし、「.tar.gz」の1つからのみ抽出され、他の6つからは抽出されません。

x 2758568008/2758568008.genes.faa

その後、次の場合に備えてforループを試しました。

tar -zxOf /Users/gchaput/Desktop/TestFolder/img_data_29800-13.tar | for file in '*.tar.gz'; do tar -zxf "$file" '*.faa'; done

しかし、エラーが発生します。

tar: Error opening archive: Failed to open '*.tar.gz' 

macOS 10.14.1を使用しているので、残念ながらワイルドカードは機能しません。

答え1

「」には「」を使用してください。これは常にLinuxにとって良いです!

関連情報