首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

shell脚本中打印所有匹配某些关键字符的行或前后各N行

在日常运维中,经常需要监控某个进程,并打印某个进程的监控结果,通常需要打印匹配某个结果的行以及其前后各N行。...注意:echo使用-e参数,对打印的结果中进行换行 [root@mq-master02 ~]# echo "abcd" abcd [root@mq-master02 ~]# echo "ab\ncd"...192.168.10.17 5)把/opt/test中所有匹配"main is failed"的行及其前1行的结果打印到/root/result.log中,并加上时间 [root@mq-master02...检查脚本执行结果的打印脚本 [root@kevin ~]# cat /mnt/main_check_result.sh #!...以上的脚本:不管main进程状态检查结果是否正常,都打印一个结果到/mnt/main_check_result.log文件中, 其实检查结果正常的时候,可以不必打印结果(即echo "****" > /

2.1K10
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    计算机程序的思维逻辑 (9) - 条件执行的本质

    流程控制中最基本的就是条件执行,也就是说,某些操作只能在某些条件满足的情况下才执行,在一些条件下执行某种操作,在另外一些条件下执行另外某种操作。这与交通控制中的红灯停、绿灯行条件执行是类似的。...if/else if/else 如果有多个判断条件,而且需要根据这些判断条件的组合执行某些操作,则可以使用if/else if/else。...条件小结 条件执行总体上是比较简单的,单一条件满足时执行某操作使用if,根据一个条件是否满足执行不同分支使用if/else,表达复杂的条件使用if/else if/elese,条件赋值使用三元运算符,根据某一个表达式的值不同执行不同的分支使用...: int a=10; 条件跳转: 如果a%2==0,跳转到第4行 无条件跳转:跳转到第7行 { System.out.println("偶数"); } //其他代码 你可能会奇怪其中的无条件跳转指令...=0,跳转到第6行 { System.out.println("偶数"); } //其他代码 这个就没有无条件跳转指令,具体怎么对应和编译器实现有关。

    1.2K100

    程序员进阶之算法练习(九十八)

    score增加a[j]; 3、不断重复操作2,直到无法执行; 现在想知道,每个元素被作为初始元素时,最多能够移除的元素数量; 输入: 第一行,整数 表示t个样例 (1≤≤5000) 每个样例2行...第1行整数 (1≤≤1e5 ) 第2行n个整数 1,2,…, (1≤≤1e9) 输出: 每个样例一行,每行n个整数,第i个数字,表示当第i个元素作为初始元素时,能够移除的最多元素数量。...: 选择数组中任意两个元素,将两个元素差值的绝对值,插入到数组中的最后面; 现在可以进行上面的操作k次,要求让数组中的最小值在操作之后,尽可能的小; 输入: 第一行,整数 表示t个样例 (1≤≤1000...) 每个样例2行 第1行整数 and (2≤≤2⋅1e3 , 1≤≤1e9 ) 第2行n个整数 1,2,…, (1≤≤1e18) 输出: 每个样例一行,输出操作后的最小值。...首先回顾这里的耗时操作,首先是枚举数字从小到大,然后找到和这个位置对应的数字,简单实现是O(N^2)的复杂度,但是我们先预处理一遍数组,记录每个数字对应的下标,这样就可以做到O(N)的复杂度; 其次是在数字覆盖的过程中

    17010

    LintCode 125 · 背包问题(二)---01背包问题

    ....第三件,第四件....第n件 //即有了二维数组第一行所有值后,就可以挨个求出第二行所有值,,,,第n行 for (int i = 1; i n; i++)//枚举每一个物品 {...i 行格子只需要第 i -1 行中的某些值。...也就是计算「某一行」的时候只需要依赖「前一行」。 因此可以用一个只有两行的数组来存储中间结果,根据当前计算的行号是偶数还是奇数来交替使用第 0 行和第 1 行。...只需要将代表行的维度修改成 2,并将所有使用行维度的地方从 i 改成 i% 2或者 i&1 即(更建议使用 i&1 ,i & 1运算在不同 CPU 架构的机器上要比 % 运算稳定)。...再次观察我们的「转移方程」: 不难发现当求解第 i 行格子的值时,不仅是只依赖第 i-1 行,还明确只依赖第 i-1 行的第 C个格子和第 C-V[i]个格子(也就是对应着第 i 个物品不选和选的两种情况

    33920

    2023-01-12:一个n*n的二维数组中,只有0和1两种值,当你决定在某个位置操作一次,那么该位置的行和列整体都会变成1,不

    2023-01-12:一个n*n的二维数组中,只有0和1两种值, 当你决定在某个位置操作一次, 那么该位置的行和列整体都会变成1,不管之前是什么状态。 返回让所有值全变成1,最少的操作次数。...1 n n < 10, 不会到10!最多到9! 来自华为。 答案2023-01-12: 四维dp+贪心。这道题优化力度很有限,跟暴力差不多。...i32) -> i32 { let mut n = n as u32; n = (n & 0x55555555) + ((n >> 1) & 0x55555555); n =...(n & 0x33333333) + ((n >> 2) & 0x33333333); n = (n & 0x0f0f0f0f) + ((n >> 4) & 0x0f0f0f0f); n...= (n & 0x00ff00ff) + ((n >> 8) & 0x00ff00ff); n = (n & 0x0000ffff) + ((n >> 16) & 0x0000ffff);

    2.7K10

    程序员进阶之算法练习(五十三)

    正文 题目1 题目链接 题目大意: 有三堆石头,分别有a、b、c个; 现在可以执行操作: 1、从第一堆拿出1个石头,第二堆拿出2个石头; 2、从第二堆拿出1个石头,第三堆拿出2个石头; 以上的操作...为了高效利用第二堆石头,我们优先执行操作2,再执行操作1。...,第1只和第n只相邻; 第i只怪物的血量为a[i],小明每次可以攻击一只怪物,使得怪物的血量-1; 当怪物的血量小于等于0的时候会死亡,并且产生爆炸,对第i+1个位置的怪物造成b[i]点伤害;(如果是第...n只怪物爆炸,则是对第1只怪物造出伤害) 现在想知道,小明最少攻击多少次,才能使得所有怪物都爆炸; 输入: 第一行,整数?...先不考虑怪物死亡后爆炸的问题,就是n只怪物的血量和; 再考虑爆炸的情况,由于题目要求的是最终所有怪物都死亡,即所有怪物都会爆炸,那么可以直接减去爆炸影响的血量; 接下来的问题是,找到n个怪物中,应该首先攻击哪一个

    39520

    《算法竞赛进阶指南》0x23 剪枝

    可行性剪枝 在搜索过程中,及时对当前状态进行检查,如果发现分支已经无法到达递归边界,就执行回溯 这就好比我们在道路上行走时,看见远方是一个死胡同,就立刻折返绕路,而不是走到尽头再返回 某些题目条件的范围限制是一个区间...: 上下界剪枝:在第 dep 层时,限制枚举的半径和高度的范围,公式推导: 对于一个总体积为 N\pi 的蛋糕,当前已使用体积为 v\pi ,为使得方案合法显然有上下界限制 下界:由题目定义可知...每组测试用例包括 16 行,每行一组字符串,共 16 个字符串。 第 i 个字符串表示数独的第 i 行。 字符串包含字符可能为字母 A ∼ P 或 -(表示等待填充)。...,立即回溯 若某个字母只能填在该行的某一个空位上,立即填写 考虑所有的列,执行与第 2 步类似的过程 考虑所有的十六宫格,执行类似的操作 之后,再选择可填的字母最少的位置,枚举填写哪个字母作为分支 本题中如果按照...“数独1” 里的做法,按行/列/九宫格存储所有状态,对于上述的几种剪枝,代码会很复杂 因此考虑对于十六宫格的所有位置存储一个 16 位的二进制数: state[i][j] 第 i 行第 j

    47030

    算法02-入门算法枚举与模拟算法

    本文为枚举算法与模拟算法部分。 大纲要求 【 1 】枚举法 【 1 】模拟法 枚举算法 在数学和计算机科学理论中,一个集的枚举是列出某些有穷序列集的所有成员的程序,或者是一种特定类型对象的计数。...枚举思想 枚举:列出某些有穷序列集的所有成员,或者对一种特定类型对象的计数 ①有限的范围 ②所有的成员 ③特定的类型 根据枚举的定义: 数图形的时候∶ 只在一个大图中数。...枚举思想 枚举的一般解题步骤 运用枚举的思想解决因数统计、质数判断等问题质数判断的平方根优化 break和continue N进制的定义 模拟法-一维数组 模拟算法就是模拟题目给的操作,...在过程中使用的都是我们已知的各种方法,如数组元素调用、排序、枚举等等,只是这些过程一般比较复杂。本次课程主要针对一位数组的模拟。...如果数组下标从1开始,那么第i个元素的对称元素位置是谁? 找找规律:1对n ;2对n-1;3对n-2 ;i对什么?

    42010

    C++17, 语言核心层变化的更多细节

    行代码中,通过将模板参数声明为 auto, 编译器便可以自动推导非类型模板参数(第1行代码中的 N)的类型了,你甚至可以像示例代码中那样(第7和第8行)偏特化该模板(示例代码中为int类型进行了偏特化)....第13行代码的模板会依据原始模板(示例中的第一个模板)进行实例化,而第14行代码的实例化依据的则是偏特化模板版本(示例中的第二个模板)....n1, decltype(n1)... ns> class TypedVariadicTemplate { ... }; 示例代码中,模板 VariadicTemplate(第1行至第5行) 可以对任意数量的非类型模板参数进行自动类型推导...void转型操作....下面的示例中,第6行代码会产生一个编译警告,但在第12行代码中,由于 foo 函数返回的是引用类型(虽然引用类型本身是[[nodiscard]]属性),所以不会产生编译警告. struct [[nodiscard

    76110

    算法02-入门算法枚举与模拟算法

    本文为枚举算法与模拟算法部分。 大纲要求 【 1 】枚举法 【 1 】模拟法 枚举算法 在数学和计算机科学理论中,一个集的枚举是列出某些有穷序列集的所有成员的程序,或者是一种特定类型对象的计数。...枚举思想 枚举:列出某些有穷序列集的所有成员,或者对一种特定类型对象的计数 ①有限的范围 ②所有的成员 ③特定的类型 根据枚举的定义: 数图形的时候∶ 只在一个大图中数。...枚举思想 枚举的一般解题步骤 运用枚举的思想解决因数统计、质数判断等问题质数判断的平方根优化 break和continue N进制的定义 模拟法-一维数组 模拟算法就是模拟题目给的操作,...在过程中使用的都是我们已知的各种方法,如数组元素调用、排序、枚举等等,只是这些过程一般比较复杂。本次课程主要针对一位数组的模拟。...如果数组下标从1开始,那么第i个元素的对称元素位置是谁? 找找规律:1对n ;2对n-1;3对n-2 ;i对什么?

    37510

    小朋友学经典算法(14):回溯法和八皇后问题

    1.png 在国际象棋中,皇后是最强大的一枚棋子,可以吃掉与其在同一行、列和斜线的敌方棋子。比中国象棋里的车强几百倍,比她那没用的老公更是强的飞起(国王只能前后左右斜线走一格)。...2.png 在第一行放1号皇后。第一行的四个格子都可以放。按枚举的习惯,先放在第一个格子。如下图所示。黑色的格子不能放其他的皇后。 ? 3.png 在第二行放2号皇后,只能放在第三个或第四个格子。...if(row == n)这句代码好理解,如果程序执行了row == n,说明从0到n-1的位置都放上了皇后,那自然是找到了一种解法,于是八皇后问题解法数加1。 否则进入else语句。...遍历所有列col,将当前col存储在数组c里,然后使用check()检查row行col列能不能摆皇后,若能摆皇后,则递归调用queen去安排下一列摆皇后的问题。 还不太清楚?...回溯法与穷举法有某些联系,它们都是基于试探的。

    1.8K10

    N皇后问题如何写出简洁的最优解 - 回溯法及LeetCode应用详解

    也有人把回溯法称为BFS/DFS,这没有错,但是不太准确的,回溯法是特殊的DFS或者BFS,因为DFS或者BFS在某些情况下无法递归处理所有的情况(即不完全穷举),需要执行一定的后悔操作,才能穷举所有情况...递归调用会保存堆栈,两行dfs返回之后list的状态是没有执行两行dfs的状态,而不是执行了两行dfs之后的状态,这点是反直觉的。...// 回溯法和DFS、BFS的区别在于为了枚举 有回溯过程 即为了生成所有情况而还原某些操作 比如下面的操作1和操作2 都是需要回溯的操作 // 千万不能忘掉回溯 否则无法生成所有解 或者漏掉最优解的过程...// i表示第i行 j表示第j列 // 规律 对角线坐标 // 斜对角线坐标 行列坐标差值永远相等 为了避免出现负值 使用i-j+n 为此 diag1的容量应为2n // 反斜对角线左边 行列坐标的和永远相等...return res; } } 回溯解法二(最优解): 使用整型的二进制表示做标志位 用n个十进制数 即可表示棋盘 0表示可以放Q 1表示不能放Q 一旦某一行被放置了Q 则该位置变为1 整行整列都不能放

    52210

    Acwing递归与递推(一)

    接触过嵌入式之后,现在是会点了,i从0开始: 按位读:data >> i & 1 按位写:data |= 1 << i 按位读,就是把第i位的数据移到第0位,与i做与操作,结果为0或1,也就是第i位的值...排列型枚举中,每个数都要选上,每个节点有n-i个分支,也就是没选的节点各占一个分支。 递归结束条件是,没有分支,也就是每个数都被选上。...dfs(1); } 递归实现组合型枚举 原题链接:https://www.acwing.com/problem/content/95/ 递归的结束条件是:到达第n层。...我们不确定哪种是最优的,需要枚举32种可能的按法。 我们也不需要每一行都枚举,因为第一行按完之后,第二行的操作也就确定了。 此时第二行操作的目的是为了保证第一行全亮。...第二行操作确定之后,第三行的操作也唯一确定,此时第三行操作的目的是为了保证第二行全亮。 第三行操作确定之后,第四行的操作也唯一确定,此时第四行操作的目的是为了保证第三行全亮。

    12510

    《蓝桥杯每日一题》bfs·AcWing1562. 微博转发

    当用户在微博上发布帖子时,他/她的所有关注者都可以查看并转发他/她的帖子,然后这些人的关注者可以对内容再次转发… 现在给定一个社交网络,假设只考虑 L 层关注者,请你计算某些用户的帖子的最大可能转发量。...补充 如果 B 是 A 的关注者,C 是 B 的关注者,那么 A 的第一层关注者是 B,第二层关注者是 C。 输入格式 第一行包含两个整数,N 表示用户数量,L 表示需要考虑的关注者的层数。...接下来 N行,每行包含一个用户的关注信息,格式如下: M[i] user_list[i] M[i] 是第 i 名用户关注的总人数,user_list[i] 是第 i 名用户关注的 M[i] 个用户的编号列表...,使用bfs从2号开始一层一层遍历可到达的点,遍历过程中记录层数, 注意层数不能超过题目要求的L 3.Ac代码 import java.util.*; public class Main {...如果没有则把该子节点加入队列中 当枚举到这一层的最后一个点时 该层的点已被全部删除 此时队列里只有下一层的点了 while循环结束 继续for循环枚举下一层

    9110

    小朋友学经典算法(14):回溯法和八皇后问题

    1.png 在国际象棋中,皇后是最强大的一枚棋子,可以吃掉与其在同一行、列和斜线的敌方棋子。比中国象棋里的车强几百倍,比她那没用的老公更是强的飞起(国王只能前后左右斜线走一格)。...2.png 在第一行放1号皇后。第一行的四个格子都可以放。按枚举的习惯,先放在第一个格子。如下图所示。黑色的格子不能放其他的皇后。 ? 3.png 在第二行放2号皇后,只能放在第三个或第四个格子。...n是皇后数,在八皇后问题里当然就是8啦。 第4行好理解,如果程序当前能正常执行到第8行,那自然是找到了一种解法,于是八皇后问题解法数加1。   如果当前还没排到第八行,则进入else语句。...遍历所有列col,将当前col存储在数组c里,然后使用is_ok()检查row行col列能不能摆皇后,若能摆皇后,则递归调用queen去安排下一列摆皇后的问题。   还不太清楚?...回溯法与穷举法有某些联系,它们都是基于试探的。

    1.1K30

    【海贼王的数据航海】ST表——RMQ问题

    2.2 什么是可重复贡献问题 可重复贡献问题是指在某些特定的数学运算中,当运算的性质满足一定条件时,即使是在包含重复部分的区间内进行询问,所得到的结果仍然是相同的问题。...2.3 -> 预处理ST表 倍增法递推:用两个等长的小区间拼凑成一个大区间。 f[ i ][ j ] 以第 i 个数为起点,长度为 的区间中的最大值。...如果涉及区间修改操作,就要使用线段树解决了。...输入格式 第一行包含两个整数 N,M,分别表示数列的长度和询问的个数。 第二行包含 N 个整数(记为 ai​),依次表示数列的第 i 项。...接下来 M 行,每行包含两个整数 ,,表示查询的区间为 [,]。 输出格式 输出包含 M 行,每行一个整数,依次表示每一次询问的结果。

    8110

    程序员进阶之算法练习(六十七)

    题目1 题目链接 题目大意: 给出n个整数的数组a和b,现在可以执行任意次下面的操作: 选择索引x,交换数组a和b中的元素a[x]和b[x]; 现在想知道|1−2|+|2−3|+⋯+|−1−| +...现在想知道,最少执行多少次操作,才能让整数变成0; 输入: 第一行整数 ,表示n个整数(1≤≤32768) 第二行n个整数1,2,…, (0≤<32768) 输出: 输出n个整数,分别表示n个整数的最少操作次数...; 这里有很多种做法:枚举x2操作的次数,然后计算剩下所有加法次数; 枚举+1的次数,再计算枚举x2的次数; class Solution { static const int N = 201010...,现在可以执行若干次操作,每次操作可以选择数组中某个元素进行增长,也可以选择跳过该操作; 这样进行第1次操作、第2次操作、第3次操作.......假如第1、2、3次操作中,第k次操作是选择数组元素a[i],则如果k是奇数则使a[i]=a[i]+1;如果k是偶数则使a[i]=a[i]+2; 现在想知道,最好经过多少次操作可以让整个数组的元素相等。

    22840

    万字详解递归与递推

    递归 递归是将原问题拆成多个子问题然后求解,递归的代码往往很短,可能进行重复求解某些问题,而动态规划是在递归的基础上保存了子问题的解,避免重复计算。...第 i 个楼梯可以从第 i-1 和 i-2 个楼梯再走一步到达,走到第 i 个楼梯的方法数为走到第 i-1 和第 i-2 个楼梯的方法数之和。...} 递归实现排列型枚举 题目描述:把 1∼n 这 n个整数排成一行后随机打乱顺序,输出所有可能的次序。...输入格式:一个整数 n。 输出格式:按照从小到大的顺序输出所有方案,每行 1 个。首先,同一行相邻两个数用一个空格隔开。其次,对于两个不同的行,对应下标的数一一比较,字典序较小的排在前面。...= cin.nextInt(); dfs(1);//从1开始,最后打印除了就是字典序最小 } } 递归实现组合型枚举 题目描述: 从 1~n 这 n 个整数中随机选出 m 个,

    53930
    领券