Chinaunix

标题: AWK 怎样取大于99小于500的数 [打印本页]

作者: huart    时间: 2010-12-31 16:23
标题: AWK 怎样取大于99小于500的数
  1. root            0   
  2. bin             1   
  3. daemon          2   
  4. adm             3   
  5. lp              4   
  6. sync            5   
  7. shutdown        6   
  8. halt            7   
  9. mail            8   
  10. news            9   
  11. uucp            10   
  12. operator        11   
  13. games           12   
  14. gopher          13   
  15. ftp             14   
  16. nobody          99   
  17. nscd            28   
  18. vcsa            69   
  19. rpc             32   
  20. mailnull        47   
  21. smmsp           51   
  22. pcap            77   
  23. ntp             38   
  24. dbus            81   
  25. avahi           70   
  26. sshd            74   
  27. rpcuser         29   
  28. nfsnobody       65534
  29. haldaemon       68   
  30. avahi-autoipd   100  
  31. apache          48   
  32. hsqldb          96   
  33. xfs             43   
  34. gdm             42   
  35. john            500
复制代码
有这两列数据,我想通过AWK取大于99小于500的行,但是不知AWK中怎么加并列条件。
awk '$2>99{print $2}'  
怎么加条件设置上限呢?
请坛友赐教!
作者: yinyuemi    时间: 2010-12-31 16:24
$2>99 && $2<500
作者: huart    时间: 2010-12-31 16:27
原来是这样的,多谢了!唉,我要多学习了。
作者: 昭襄王    时间: 2011-01-03 09:38
必须用awk吗?
grep -wf <(seq 100 499) lines2
avahi-autoipd   100
作者: huatuo20002008    时间: 2011-01-03 10:45
回复 4# 昭襄王

grep -wf <(seq 100 499) lines2

请教这条命令如何理解?
作者: 昭襄王    时间: 2011-01-03 10:59
grep -wf <(seq 100 499) lines2
-w:整词匹配
-f:以文件的每行作为模式
<(seq 100 499):100到499的序列作为“文件”重定向到标准输入
作者: huatuo20002008    时间: 2011-01-03 11:12
grep -wf
昭襄王 发表于 2011-01-03 10:59


崇拜!!!


大师,再接上面例子,如果要过滤含有以下字符串(其中一个或多个)的行是否也可以用相应的办法作处理
smmsp   
pcap   
ntp     
dbus   
avahi   
sshd
作者: 昭襄王    时间: 2011-01-03 11:41
回复 7# huatuo20002008


别,看我注册时间,初学者啊初学者。。。
应该是可以的,毕竟grep就是过滤文本用的
作者: tomjamescn    时间: 2011-01-03 13:59
这样可以:
awk {if($2>99 && $2<500){print $0}}




欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2