tarファイルと同じ名前のディレクトリを作成して複数のtarファイルを抽出しようとしています。私はcentosを使用しており、tarのバージョンは1.26です。残念ながら、ユーザーの制限により、tarバージョンを1.29以降に更新することはできません。したがって、以下のコードスニペットは使用できません。
-exec tar xvf {} --one-top-level \;
作業コードを.ZIP形式にコピーしようとしましたが、成功しませんでした。
zipファイルの作業コード -
for file in `ls *.zip`; do unzip $file -d `echo $file | cut -d . -f 1`; done
tarファイルのコードコピー -
for f in 'ls *.tar'; do tar xvf $f -C 'echo $f|cut -d . -f 1'; done
このコードは "tar xvf $f -C" を渡すまで動作します。ファイル名が正しく印刷されます。
for f in 'ls *.tar'; do echo $f|cut -d . -f 1; done
次のエラーが発生します -
$ for f in 'ls *.tar'; do tar xvf $f -C 'echo $f|cut -d . -f 1'; done
tar:ls:開くことができません:そのファイルまたはディレクトリはありません
tar:回復不能エラー:今すぐ終了
ありがとう、
パンカイ