我正在尝试grep用户名:
users | grep "^\b\w*\b" -P
我怎样才能只显示与的第一场比赛grep
?
这项工作就像@peterph提出的^ \ w * \ b。削减或修改/修改更方便吗?我的情况很简单。我可以使用myVar =`users | grep -o“ ^ \ w * \ b”`,不是吗?
—
Yurij73
比较他们:
—
manatwork 2012年
users | cut -d' ' -f1
,users | sed 's/\s.*//'
,users | awk '$0=$1'
。如果要将其存储在变量中,请使用bash
:read myVar blah < <(users)
或read myVar blah <<< $(users)
。
@ Yurij73的区别主要在于执行时间。与
—
peterph
read
您不会产生新的过程。如果您多次这样做,您会注意到其中的不同。
使用awk更好吗?#!/ bin / bash(users | awk'$ 0 = $ 1')>文件; 读取myVar <文件; rm -f文件; echo $ myVar;
—
Yurij73
grep
呢grep
用于搜索。您似乎需要cut
或awk
,但read
内置函数似乎也很合适。