在输出awk命令之前回显

时间:2013-03-03 17:04:46

标签: bash shell awk terminal sh

我需要知道如何在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

2 个答案:

答案 0 :(得分:4)

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

Home Directory: /home/luser 
Disk Space Used 42222768

答案 1 :(得分:1)

这对我有用:

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中有一些您不感兴趣的内容,则可能需要或需要对其进行一些改进。