我如何在我的ksh脚本中grep一列?

时间:2013-03-25 20:14:08

标签: shell unix ksh

以下是我的代码:

#!/bin/ksh -p
NAME=$1
echo $NAME likes to drink:
grep $NAME ~/practice/database/likes
echo total number of beers $NAME likes to drink:
grep $NAME ~/practice/database/likes | wc -l

以下是我的输出:

dave likes to drink:
dave,coors
dave,bud
total number of beers dave likes to drink:
       2

我如何输出“coors”和“bud”?

2 个答案:

答案 0 :(得分:1)

您可以尝试这样的事情:

grep $NAME ~/practice/database/likes | awk -F, '{ print $2 }'

grep $NAME ~/practice/database/likes | cut -d , -f 2

man awk

man cut

答案 1 :(得分:0)

如果您使用sed,那么您只需要一个程序:

sed 's/'$NAME',//'  ~/practice/database/likes

或者您可以使用awk,但不要使用grep,因为awk也可以使用awk -F, '/'$NAME'/{ print $2 }' ~/practice/database/likes

{{1}}