grep命令保留第一行(C语言实现)
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了grep命令保留第一行(C语言实现)相关的知识,希望对你有一定的参考价值。
参考技术ALinux中的 grep 是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来。特别是在搜索日志、配置文件、过滤时应用非常广泛。
然而这个命令有个美中不足的地方。它和其他命令配合使用时,把第一行的描述信息给过滤掉了。有时我们想要 同时输出的第一行和匹配行 。因为第一行的描述信息有助于我们理解后面每个字段的含义。
比如我们查看和sda有关的文件系统
这里的116G 58G 53G 分别表示什么? 哪个才是剩余空间?
我们希望得到结果是:
Stackoverflow给出的几种方案,grep 配合 sed 和 awk 使用。但我觉得这些方法不够好,于是我用C语言写了一个程序 grep1 。它可以 智能判断标题行 ,输出彩色标题后调用 grep 完成匹配搜索。因为是调用 grep 的,所以 grep 能用的参数这里也可以用。
为什么要强调智能判断标题行呢? 不是所有标题都在第一行,有的命令(netstat)标题在第二行。。。。。
下面给出源码(少于60行),编译后移动到 /usr/local/bin/grep1 ,PATH环境变量一般包含 /usr/local/bin
效果对比:
第5章-3.四则运算(用字典实现) (30分)
四则运算(用字典实现),比较c语言的switch语句。
输入格式:
在一行中输入一个数字 在一行中输入一个四帜运算符(+,-,*,/) 在一行中输入一个数字
输出格式:
在一行中输出运算结果(小数保留2位)
输入样例1:
在这里给出一组输入。例如:
7
/
3
输出样例1:
在这里给出相应的输出。例如:
2.33
输入样例2:
在这里给出一组输入。例如:
10
/
0
输出样例2:
在这里给出相应的输出。例如:
divided by zero
1 # 四则运算(用字典实现) 2 # Author: cnRick 3 # Time : 2020-4-3 4 a = float(input()) 5 op = input() 6 b = float(input()) 7 try: 8 res = {‘+‘:a+b,‘-‘:a-b,‘*‘:a*b,‘/‘:a/b} 9 print("{:.2f}".format(res[op])) 10 except: 11 print("divided by zero")
以上是关于grep命令保留第一行(C语言实现)的主要内容,如果未能解决你的问题,请参考以下文章