Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1715915
  • 博文数量: 584
  • 博客积分: 13857
  • 博客等级: 上将
  • 技术积分: 11883
  • 用 户 组: 普通用户
  • 注册时间: 2009-12-16 09:34

分类: WINDOWS

2011-04-28 13:15:06

awk 常规表达式元字符 awk模式匹配

Shell脚本编程 2010-12-01 18:50:32 阅读63 评论0   字号: 

首先举个几个例子。

1、用awk匹配出filename指定的文件中带有sun的行:


  1. 在命令行中是: awk '/sun/ {print $0}' filename

  2. 编写awk脚本为:

  3. #!/usr/bin/awk -f

  4. BEGIN{

  5. }

  6. {

  7. if($num~/sun/) //$num中的num是0~9,~表示匹配

  8. {

  9. print $0

  10. }

  11. }

  12. END{

  13. }



  14. awk的常规表达式元字符:

  15. ^ 表示在文件中的行首进行匹配。 例如:/^sun/表示模式匹配以sun开头的行。

  16. $ 表示在文件中的行尾进行匹配。 例如:/sun$/表示模式匹配以sun结尾的行。

  17. . 表示与任何单个字符串匹配。 注意:是单个字符串。

  18. [ABC] 表示与[]内的任意一字符匹配。 例如:/[Mm]oon/表示模式匹配包含Moon或moon的行。

  19. [A-Ca-c] 表示与A-C及a-c范围内的单个字符匹配。 例如:/^[a-b][c-d][e-f]/表示开始第一个字符是a或b,第二个字符是c或d,第三个字符是e或f。同样的道理,/[a-b][c-d][e-f]$/表示从记录的后面开始匹配。

  20. Desk|Chair 表示与Desk和Chair中的任意一个匹配。



  21. 注意:

  22. [^ABC] 与除[ ]内的所有字符以外的任一字符匹配。



  23. [ABC]* 表示与A、B、C中任意一个出现0次或多次的字符相匹配。

  24. [ABC]+ 表示与A、B、C中任意一个出现1次或多次的字符相匹配。
阅读(1464) | 评论(0) | 转发(1) |
给主人留下些什么吧!~~