在awscli中返回" PRE"。为什么以及如何摆脱它

时间:2017-06-30 11:16:12

标签: amazon-s3 git-bash aws-cli ls

在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

有任何建议可以解决这个问题吗?

2 个答案:

答案 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$"