在git bash中使用awscli,命令
aws s3 ls "s3://directory/"
返回
列表PRE "filename"
这很不方便,因为我需要在输出上做进一步的命令,我只需要给定目录中的文件/目录名。
例如,能够这样做很好:
for dir in $(aws s3 ls s3://directory/) do
aws s3 ls $dir | grep .json;
done
有任何建议可以解决这个问题吗?
答案 0 :(得分:2)
你可以用
之类的东西做到这一点aws s3 ls s3://directory --recursive | awk '{print $4}' | grep .json
答案 1 :(得分:-1)
列出所有文件夹:
aws s3 ls s3://bkt --recursive | tr -s ' ' | cut -d ' ' -f4- | grep "\/$" | sed 's/\/$//'
列出所有文件:
aws s3 ls s3://bkt --recursive | tr -s ' ' | cut -d ' ' -f4- | grep -v /$
要列出所有.json文件:
aws s3 ls s3://bkt --recursive | tr -s ' ' | cut -d ' ' -f4- | grep "\.json$"
要列出所有.json和所有.yaml文件:
aws s3 ls s3://bkt --recursive | tr -s ' ' | cut -d ' ' -f4- | grep -E "(\.yaml|\.json)$"
要列出除 .json文件之外的所有文件:
aws s3 ls s3://bkt --recursive | tr -s ' ' | cut -d ' ' -f4- | grep -v "\.json$"