分页: 1 / 1

awk 匹配一个单词

发表于 : 2011-11-11 18:11
bellszhu
emp_names如下:
46022 KANE SHERYL UNKNOWN AR
46026 FERGUS SARAH MUNCIE IN
46027 BUCK SARAH MUNCIE IN

执行:awk '/AR/' emp_names
输出:
46022 KANE SHERYL UNKNOWN AR
46026 FERGUS SARAH MUNCIE IN
46027 BUCK SARAH MUNCIE IN

看了下,是因为第二三行中的SARAH 包含"AR" 所有导致输出了二三行,
我只想输出第一行的
所以执行: awk '/AR$/' emp_names
确实第一行

但是如果第一行是:
46022 KANE SHERYL AR UNKNOWN
那该如何单独输出第一行呢??

Re: awk 匹配一个单词

发表于 : 2011-11-11 19:08
lilydjwg

代码: 全选

\<AR\>

Re: awk 匹配一个单词

发表于 : 2011-11-16 18:56
bellszhu
lilydjwg 写了:

代码: 全选

\<AR\>
试了好久,还是不行,但是还是解决了 原来是awk的版本问题
我公司机器上的ubuntu的awk是mawk

后来我安装了gawk gawk '/\<AR\>/' emp_names 就能输出了

Re: awk 匹配一个单词

发表于 : 2011-11-16 20:20
eexpress
man awk
支持的正则,有差异的。

Re: awk 匹配一个单词

发表于 : 2011-11-17 10:38
ffihy
grep 行吗?

代码: 全选

grep -w AR emp_names