我有一个文件,上面写着这样的名字
first middle last userid
Brian Duke Willy willybd
...
每当我使用以下
line=`grep "willybd" /dir/names`
name=`echo $line | cut -f1-3 -d' '`
echo $name
它打印了以下内容:
Brian Duke Willy willybd
Brian Duke Willy
我的问题是,我怎么才能让它只打印“布赖恩杜克威利”,而不首先打印我剪的原始行?
最佳答案
通常的做法是:
awk '/willybd/{ print $1, $2, $3 }' /dir/names
或者,更具体地说
awk '$4 ~ /willybd/ { print $1, $2, $3 }' /dir/names
或
awk '$4 == "willybd" { print $1, $2, $3 }' /dir/names