複数の「.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にとって良いです!