2012-07-24 145 views

回答

6

这很简单,但取决于您希望检查的复杂程度。假设你想删除其文件名包含“富”每一个文本文件:

s3cmd --recursive ls s3://mybucket | 
    awk '{ print $4 }' | grep "*.txt" | grep "foo" | xargs s3cmd del 

如果你想要一个更复杂的检查比grep的可以处理,只是前三个命令重定向到一个文件,然后手动编辑文件或者使用或awkperl或任何你喜欢的工具,然后cat输出为s3cmd(取决于检查,你可以做到这一切与管道,太):

s3cmd --recursive ls s3://mybucket | awk '{ print $4 }' | grep "*.txt" > /tmp/textfiles 
magic-command-to-check-filenames /tmp/textfiles 
cat /tmp/textfiles | xargs s3cmd del