我有一个称为PPR的打印后台处理程序系统,它可以控制用户的打印平衡。这样的命令" ppuser show username"将为给定用户打印信息。
[root@localhost ~]# ppuser show dpacheco
Name: dpacheco
Fullname:
Balance: 99.00
Cutoff point: 0.00
Last Modified: Wed Oct 1 11:37:58 2014
Account lifetime: 365
Credit revoked: FALSE
我需要为所有系统用户输出"用户名;余额"对的列表(PPR用户在/ etc / passwd中是相同的)。为此,我编写了此命令...
cat /etc/passwd | awk -F : '$user=$1 {system("ppuser show"$user)}'| awk '$1 ~ /Balance/ {print $user;$2}'
解释..
输出passwd的内容。
用管道将其传送到awk语句。
我得到了用户名,将其存储在$ user var中,并执行" ppuser show"命令。
将结果传递到另一个awk语句
评估包含"余额"的行的" ppuser show"输出,并打印用户名和余额,以分号分隔。
问题..
我得到这样的输出
Balance: 100.00;100.00
Balance: -40.00;-40.00
Balance: 100.00;100.00