【问题标题】:Echo before the output of the awk command在 awk 命令输出之前回显
【发布时间】:2013-02-17 18:01:51
【问题描述】:

我需要知道如何在awk 命令的每个输出之前添加这一行。我还需要添加用户在其主目录中使用了多少磁盘空间。我不知道如何将它们结合起来。

这就是我列出用户及其主目录的方式。

awk -F":" '{print $6}' /etc/passwd | sort | grep /home

输出是:

/home/testuser
/home/anonsec

我想要的输出是:

Home Directory: /home/testuser
Disk Space Used (KB): 23342 KB

Home Directory: /home/anonsec
Disk Space Used (KB): 23342 KB

【问题讨论】:

  • 任何更改du -sh /home/* 可以解决您的问题吗?
  • 谢谢托马斯,你太棒了!但是我怎样才能输出上面的格式呢?你有什么主意吗?再次感谢托马斯 :)
  • 你可以通过awk -F":" '/home/{print $6}' /etc/passwd | sort来放弃grep的使用
  • 感谢 Sudo,如何插入“du -sh”来显示大小。我的想法是将它与 "awk -F":" '/home/{print $6}' /etc/passwd | sort" 结合起来以显示使用的空间。好帮手。再次感谢。 :)

标签: bash shell awk terminal sh


【解决方案1】:
$ du -s /home/* | awk '{print "Home Directory:",$2,"\nDisk Space Used",$1"\n"}'

Home Directory: /home/luser 
Disk Space Used 42222768

【讨论】:

    【解决方案2】:

    这对我有用:

    for i in `awk -F":" '{print $6}' /etc/passwd | sort | grep /home`;  do
            echo "Home Directory:" $i
            echo "Disk Space Used (KB):" `du -s $i |cut -f1`
            echo ""
    done
    

    如果您对/etc/passwd 中的某些内容不感兴趣,您可能希望或需要对其进行一些改进。

    【讨论】:

    • 这就是我要说的。谢谢须藤。
    • 请注意,这不是我的答案,它是 @user1685841 我刚刚修复了格式。我不会这样做..因此我的实际答案。
    • 非常感谢 Sudo 和 @user1685841,因为你们帮了我很多。 :)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2022-09-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-05-12
    • 2018-01-16
    • 1970-01-01
    相关资源
    最近更新 更多