awk 匹配一个单词

sh/bash/dash/ksh/zsh等Shell脚本
回复
bellszhu
帖子: 108
注册时间: 2010-12-18 19:46

awk 匹配一个单词

#1

帖子 bellszhu » 2011-11-11 18:11

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
那该如何单独输出第一行呢??
keep the faith
头像
lilydjwg
论坛版主
帖子: 4258
注册时间: 2009-04-11 23:46
系统: Arch Linux
联系:

Re: awk 匹配一个单词

#2

帖子 lilydjwg » 2011-11-11 19:08

代码: 全选

\<AR\>
bellszhu
帖子: 108
注册时间: 2010-12-18 19:46

Re: awk 匹配一个单词

#3

帖子 bellszhu » 2011-11-16 18:56

lilydjwg 写了:

代码: 全选

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

后来我安装了gawk gawk '/\<AR\>/' emp_names 就能输出了
keep the faith
头像
eexpress
帖子: 58428
注册时间: 2005-08-14 21:55
来自: 长沙

Re: awk 匹配一个单词

#4

帖子 eexpress » 2011-11-16 20:20

man awk
支持的正则,有差异的。
● 鸣学
ffihy
帖子: 3
注册时间: 2011-04-13 20:19

Re: awk 匹配一个单词

#5

帖子 ffihy » 2011-11-17 10:38

grep 行吗?

代码: 全选

grep -w AR emp_names
回复