0

私はこれを試しました

s3cmd ls s3://somebucket/data/ | awk '{print $4}' | xargs -I %s s3cmd -v -c s3.cfg cp %s 's3://anotherbucket/data/' && s3cmd -c s3.cfg rm %s -v

もちろん、2 番目のコマンド ( s3cmd rm) は xargs 引数の一部として扱われないため、機能しません...

どうすればいいですか?

背景はs3cmd、私の場合の移動操作はソースファイルを削除しないように見えるため、コピーと削除に置き換えたいと思っていました。

4

1 に答える 1

0

私はただshを呼び出して(xargのマンページからそのヒントを取りました)、そこから次のように作業しました:

s3cmd ls s3://somebucket/data/ | awk '{print $4}' | xargs -n 1 sh -c ' s3cmd -v -c s3.cfg cp $0 's3://anotherbucket/data/'; s3cmd -c s3.cfg rm $0 -v';

于 2013-04-23T14:00:57.427 に答える