我试图循环输出命令,例如
John 45
Ted 35
Eric 65
Bob 25
Jeff 50
它将一次循环一行,它将为超过60的任何行打印一条消息,因此Eric将被打印出来
/dev/mapper/vg_bob-lv_root 31
/dev/sda1 12
/dev/sdb1 2
答案 0 :(得分:2)
不需要循环,因为awk
对此更简单:
awk '$2>60{print $1}' file
Eric
答案 1 :(得分:0)
这是一个从文件中读取的纯shell解决方案:
$ while read name age ; do [ "$age" -gt 60 ] && echo $name ; done<file
Eric
如果数据来自命令,请使用此表单:
$ command | while read name age ; do [ "$age" -gt 60 ] && echo $name ; done