免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 3928 | 回复: 0
打印 上一主题 下一主题

[文本处理] 想打印匹配行到不是空格为首的行之间的内容 [复制链接]

论坛徽章:
2
操作系统版块每日发帖之星
日期:2016-05-16 06:20:0015-16赛季CBA联赛之八一
日期:2016-05-18 15:38:22
1 [报告]
发表于 2016-05-11 10:15 |显示全部楼层
你这个应该是数据库的监听配置文件吧。
你试试这个脚本:
  1. if [ $# -gt 1 ];then
  2.         echo "参数过多!"
  3.         exit 1
  4. fi

  5. #输出文件中包含多少个server_name
  6. #将server_name附近加上#号
  7. sed  's/\(^[^ ]*\)\(.*\)/#\1#\2/g;s/##//g' a.txt >tempfile
  8. #获取各个server_name
  9. servers=`awk 'BEGIN{RS="#"}NR>1{print $0;getline}' tempfile`

  10. if [ $# -eq 0 ];then
  11. #打印server列表
  12. echo "server_name列表如下:`echo $servers`;如需查看对应列表,请使用:$0 server_name方式查看"
  13. rm tempfile
  14. exit 0
  15. fi

  16. name=$1
  17. #从tempfile中获取对应server_name的配置信息
  18. awk -v name1=$name 'BEGIN{RS="#"}NR>1{if($0 == name1){printf $0;getline;print $0;exit}}' tempfile > resultfile
  19. rm tempfile
复制代码
输入的服务名不对就查不到信息,懒得在脚本里面做判断了
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP