+ -
当前位置:首页 → 问答吧 → 求将文件内容按照空行分段,并按照指定内容过滤出需要的结果的shell,具体请进

求将文件内容按照空行分段,并按照指定内容过滤出需要的结果的shell,具体请进

时间:2011-02-18

来源:互联网

本帖最后由 老箭 于 2011-02-18 18:10 编辑

文件内容如下,求一个一句话shell,根据指定的字符串,查找并返回配对的内容。
比如,根据GUARD1,返回NODE127;根据GUARD2,返回NODE227;根据GUARD3,返回NODE237
本人刚开始学习shell,怎么也写不出来,不好意思。

题外话,文件内容是调用db2的命令在客户端执行:db2 list database directory执行返回的结果。
另外寻求db2是不是提供了这样一个命令,在客户端根据数据库别名,获得节点名称??
  1. System Database Directory

  2. Number of entries in the directory = 3

  3. Database 1 entry:

  4. Database alias                       = GUARD1
  5. Database name                        = ESS5
  6. Node name                            = NODE127
  7. Database release level               = a.00
  8. Comment                              =
  9. Directory entry type                 = Remote
  10. Catalog database partition number    = -1
  11. Alternate server hostname            =
  12. Alternate server port number         =

  13. Database 2 entry:

  14. Database alias                       = GUARD2
  15. Database name                        = ESS5
  16. Node name                            = NODE227
  17. Database release level               = a.00
  18. Comment                              =
  19. Directory entry type                 = Remote
  20. Catalog database partition number    = -1
  21. Alternate server hostname            =
  22. Alternate server port number         =

  23. Database 3 entry:

  24. Database alias                       = GUARD3
  25. Database name                        = ESS5
  26. Node name                            = NODE237
  27. Database release level               = a.00
  28. Comment                              =
  29. Directory entry type                 = Remote
  30. Catalog database partition number    = -1
  31. Alternate server hostname            =
  32. Alternate server port number         =
复制代码

作者: 老箭   发布时间: 2011-02-18

perl -ne 'if(/^Database alias.*?GUARD2/){$p=1}elsif(/^Node name/&&$p){print&&exit}' file

作者: ziyunfei   发布时间: 2011-02-18

  1. awk -v flg=0  '{if($2=="alias"&&$4=="GUARD1"){flg=1;}}{if($1=="Node"&&flg){print $4;flg=0;}}' test2.txt
复制代码
NODE127

作者: 工藤*新一   发布时间: 2011-02-18

热门下载

更多