linux管道信息传输,关于linux:在管道式awk语句之间传递变量

博主在尝试通过管道传递信息来获取Linux系统的用户余额,过程中遇到了变量传递的问题。通过展示多个解决方案,包括使用awk、grep和shell命令的组合,讨论了如何正确处理管道中的变量并提取所需数据。最终,通过在awk脚本中使用getline命令,成功实现了目标,即输出用户名和对应的余额。
摘要由CSDN通过智能技术生成

我有一个称为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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值