1つのディレクトリにある複数のファイルを解凍します。

1つのディレクトリにある複数のファイルを解凍します。

ディレクトリに複数の.tarファイルがあります。すべて抽出しようとしています。

次のコマンドは有効です

for a in $(ls -1 *.tar); do tar -xvf $a; done

ただし、次のコマンドを実行しようとすると、すべてのファイル名が印刷されますが、何もしません。 .tar ファイルは抽出されません。

% tar -xvf *.tar
Solarized-Dark-Cyan-3.0.3.tar
Solarized-Dark-Green-3.0.3.tar
Solarized-Dark-Magenta-3.0.3.tar
Solarized-Dark-Orange-3.0.3.tar
Solarized-Dark-Red-3.0.3.tar
Solarized-Dark-Violet-3.0.3.tar

unzip '*.zip'複数の.zipファイルで動作するため、これが起こるのはなぜですか?

答え1

unzip-styleパラメーターは処理されますが、'*.zip'処理されtarません。タールボールを抽出できるこの機能を備えたアーカイブ抽出器があるかもしれませんが、私は何も知りません。

以下を使用しないでくださいls

for a in *.tar; do tar -xvf "$a"; done

tar -xvf *.tar通常、何もしない最初のタールボールから2番目と追加のタールボールを抽出してみてください。

関連情報