首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何打印最大的5大存储库

如何打印最大的5大存储库
EN

Unix & Linux用户
提问于 2019-12-17 13:31:39
回答 1查看 200关注 0票数 0

我正在编写一个shell脚本,它将打印最大的5个Bitbucket存储库,并将显示项目名称、Reposotry名称及其大小。存储库配置文件示例:

project =测试存储库= customer_management_test

du命令的输出:

代码语言:javascript
复制
du -sh /bbhome/shared/data/repositories/* |sort -h |tail -5
2.0G    /bbhome/shared/data/repositories/1792
2.7G    /bbhome/shared/data/repositories/3517
3.0G    /bbhome/shared/data/repositories/2450
3.1G    /bbhome/shared/data/repositories/5703
4.4G    /bbhome/shared/data/repositories/2829

这是我试图在REHL Bitbucket机器中运行的代码:

代码语言:javascript
复制
du -sh /bbhome/shared/data/repositories/* |sort -h |tail -5
while IFS= read -r line;do
        DIR=`echo $line | awk '{print$2}'`
        Rep=`cat $DIR/repository-config |grep 'project\|repo' |  tr '\n' ' '`
        Size=`echo $line | awk '{print $1}' `
        echo $Size $Rep
done

但我没有得到预期的结果。

实际:

代码语言:javascript
复制
2.0G    /bbhome/shared/data/repositories/1792
2.7G    /bbhome/shared/data/repositories/3517
3.0G    /bbhome/shared/data/repositories/2450
3.1G    /bbhome/shared/data/repositories/5703
4.4G    /bbhome/shared/data/repositories/2829

预期(1792年的一个例子):

代码语言:javascript
复制
2.0G   project = TEST  repository = customer_management_test 

语法怎么了?

EN

回答 1

Unix & Linux用户

回答已采纳

发布于 2019-12-17 14:20:33

第一行运行du -sh /bbhome/shared/data/repositories/* |sort -h |tail -5,并通过stdout将结果输出到终端。然后,while循环循环遍历它的标准输入(空输入)。

您需要另一个|将stdout从管道连接到循环的stdin:

代码语言:javascript
复制
du -sh /bbhome/shared/data/repositories/* |sort -h |tail -5 |
while IFS= read -r line; do

  

done
票数 1
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://unix.stackexchange.com/questions/557691

复制
相关文章

相似问题

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