首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >“如何在Ansible中‘对子文件夹中的AWS S3文件进行计数’”

“如何在Ansible中‘对子文件夹中的AWS S3文件进行计数’”
EN

Stack Overflow用户
提问于 2019-08-30 22:38:58
回答 1查看 168关注 0票数 0

最初,我希望能够计算每个子文件夹中的文件数。我希望能够在Ansible程序中运行手册,在该程序中,我可以获得每个子文件夹中的文件数。

Ansible 2.8

代码语言:javascript
复制
  tasks:
    - name: AwsS3
      aws_s3:
        bucket: teste-acme
        mode: list
        prefix: folder/
      register: s3_bucket_items

    - name: CountFilesS3Folder
      debug: 
        msg: "{{s3_bucket_items.s3_keys |length }}"
     with_items: s3_bucket_items

我希望"CountFilesS3Folder“的输出是

代码语言:javascript
复制
bambu       1
bonsai      1
sakura      4
shibazakura 3
ume         2 

但实际输出是:

代码语言:javascript
复制
TASK [AwsS3] 
**********************************
"s3_keys": [
        "folder/bambu/bambu-338400da-1.tgz", 
        "folder/bonsai/bonsai-0de3166b-1.tgz", 
        "folder/sakura/sakura-1236s38f-1.tgz",
        "folder/sakura/sakura-342bd38f-2.tgz", 
        "folder/sakura/sakura-4567888f-3.tgz",
        "folder/sakura/sakura-678338sf-4.tgz", 
        "folder/shibazakura/shibazakura-1f5273e8-1.tgz",
        "folder/shibazakura/shibazakura-123asde8-2.tgz", 
        "folder/shibazakura/shibazakura-asdqwee8-3.tgz", 
        "folder/ume/ume-3164f62c-1.tgz",
        "folder/ume/ume-4c12312c-2.tgz",

TASK [CountFilesS3Folder] 
**********************************
ok: [localhost] => {
    "msg": "11"
EN

回答 1

Stack Overflow用户

发布于 2019-08-31 03:01:00

将此变量输出重定向到一个文件,并使用ansible命令/shell模块运行下面的命令,这将为您提供所需的结果。

代码语言:javascript
复制
cat file.txt | awk -F'/' '{print $2}'|sort|uniq -c

输出将为:

代码语言:javascript
复制
1 bambu
1 bonsai
4 sakura
3 shibazakura
2 ume
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57728828

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档