sed查找实例:mysql_process.sh
标准
#!/bin/bash
# FILE_NAME=/home/roo/Desktop/shell_code/day6/my.cnf
# 获取所有的片段
function get_all_segments
{
echo `sed -n '/\[.*\]/p' $FILE_NAME | sed -e 's/\[//g' -e 's/\]//g'`
}
# 统计单个片段 配置行数
function count_items_in_segment
{
# 找到[xxx]并且下一个 [.*] 的项中间的内容就是一段配置
items=`sed -n '/\['$'\]/,/\[.*\]/p' "$FILE_NAME" | grep -v "^$" | grep -v "^#" | grep -v "\[.*\]"| wc -l`
echo $items
# for 循环打印并计算my.cnf每一行的配置,适合配置项之间没有空格的情况
#index=
#for item in $items;
#do
# index=`expr $index + `
#done #echo $index } number=
for segment in `get_all_segments`
do
number=`expr $number + `
# 将每个片段当做参数传进来计算
items_count=`count_items_in_segment $segment`
echo "$number: $segment $items_count"
done
自己写的
#!/bin/bash
# #定义文件变量 FILE_NAME=/tmp/my.cnf #列出各个段的函数 function get_all_segments {
echo `sed -n '/\[/p' $FILE_NAME | sed -e 's/\[//g' -e 's/\]//g'`
} #查找段有多少参数的函数 function count_items_in_segment {
items=`sed -n "/\[$1\]/,/^\[/p" $FILE_NAME | grep -v "^#" | grep -v "^$" | grep -v "^\[" | wc -l`
echo $items
} #加入计数器 number= #遍历段并输出参数和的循环 for segment in `get_all_segments` do
number=`expr $number + `
items_count=`count_items_in_segment $segment`
echo "$number: $segment $items_count"
done
更多:https://www.cnblogs.com/crazymagic/p/11147518.html
sed查找实例:mysql_process.sh的更多相关文章
- 百度地图 api 功能封装类 (ZMap.js) 本地搜索,范围查找实例
百度地图 api 功能封装类 (ZMap.js) 本地搜索,范围查找实例 相关说明 1. 界面查看: 吐槽贴:百度地图 api 封装 的实用功能 [源码下载] 2. 功能说明: 百度地图整合功能分享修 ...
- NO8 find结合sed查找替换企业案例多方法精讲&命令总结!
·sed #替换 eg: sed 'sed 's#已有的内容#更改的内容#g' oldboy.txt s 代表替换,g代表全局,sg就是全局替换 ...
- Linux sed命令实例解析
最近看project的makefile,又见到了sed的强大编辑能力,在makefile工作之前,通常都是执行脚本或者make menuconfig来配置好各种全局变量.sed活动阶段通常在bash ...
- KingbaseES V8R6C6备份恢复案例之---单实例sys_baackup.sh备份
案例说明: KingbaseES V8R6C6中sys_backup.sh在通用机单实例环境,默认需要通过securecmdd工具以及kingbase和root用户之间的ssh互信,执行备份初始化(i ...
- KingbaseES V8R6C5单实例sys_backup.sh备份案例
案例说明: KingbaseES V8R6C5版本中使用了securecmdd工具,用于主机节点间的通讯,默认端口8890.备份工具sys_backup.sh默认使用了securecmdd工具,对 ...
- 百度地图 api 功能封装类 (ZMap.js) 本地搜索,范围查找实例 [源码下载]
相关说明 1. 界面查看: 吐槽贴:百度地图 api 封装 的实用功能 [源码下载] 2. 功能说明: 百度地图整合功能分享修正版[ZMap.js] 实例源码! ZMap.js 本类方法功能大多使用 ...
- Linux sed命令实例详解
简介 sed 是一种在线编辑器,它一次处理一行内容.处理时,把当前处理的行存储在临时缓冲区中,称为“模式空间”(pattern space),接着用sed命令处理缓冲区中的内容,处理完成后,把缓冲区的 ...
- sed 查找文件的某一行内容
1,查找文件text中第三行的内容 命令: sed -n '3p' text 2,查找文件text中第二行到第四行的内容 命令: sed -n '2,4p' text
- 企业面试题-find结合sed查找替换
题:把/oldboy目录及其子目录下所有以扩展名.sh结尾的文件中包含oldboy的字符串全部替换成oldgirl 解答: 建立测试数据: [root@tan data]# mkdir /oldboy ...
随机推荐
- JS正则的补充,与其他前端组件的使用(easUi、jqueryUi、bootstrap、)
1.JS 正则 test - 判断字符串是否符合规定的正则 rep = /\d+/; rep.test("asdfoiklfasdf89asdfasdf") # true rep ...
- 17、前端知识点--Vue中ref的使用
methods里面的方法,需要手动触发才会执行. 如果想让页面一上来就执行的话,就需要写在mounted这个钩子函数中. <body> <div id="app" ...
- Window Operations
Window Operations 有点类似于Storm中的State,可以设置窗口的大小和滑动窗口的间隔来动态的获取当前Steaming的允许状态,可以对一段时间的数据进行处理. 如图window ...
- JavaScript异步的底层原理
JavaScript引擎属于单线程作业,意味着:在同一时间只能执行一个代码块,这些代码块的执行就阻塞了异步事件的处理. 因此,出现了"任务队列"(task queue),我们可以将 ...
- ll字段 详解 文件权限
文件类型和权限 硬链接总数 属主用户名 属组组名 文件大小(字节) 上次修改时间 文件/目录名 drwxr-xr-x 15 lb lb 4096 10月 19 01:11 ./ drwxr-xr-x ...
- 一、Core的布局页、起始页及错误页
一.布局页面: 使用布局页相当于一个母版页,可以将各个页面公用部分,如上方标题区.左侧导航菜单区.下方版权声明及状态显示区以及通用的js及css引用等,集中放到布局页管理,具体功能页面只需关注自己独有 ...
- windows 2003 系统管理员debug
- ps:消除锯齿和羽化
我们使用椭圆选框工具,分别关闭和打开消除锯齿(也称抗锯齿),创建两个差不多大的正圆形选区,然后填充黑色看看.怎样快速填充黑色还记得吗?先[X]然后[ALT DELETE].填充之后取消选择[CTRL ...
- CSS多列布局(栅格布局)
一.多列布局 CSS3 可以将文本内容设计成像报纸一样的多列布局,如下实例: 代码如下(具体的解释也在代码中)浏览器支持表格中的数字表示支持该方法的第一个浏览器的版本号. 紧跟在数字后面的 -webk ...
- mybaties数据源配置类型(POOLED、JNDI、UNPOOLED)
dataSource的类型可以配置成其内置类型之一,如UNPOOLED.POOLED.JNDI. 如果将类型设置成UNPOOLED,mybaties会为每一个数据库操作创建一个新的连接,并关闭它.该方 ...