centos 中使用命令简单的比较两个文件,把符合的内容所在的行提取出来

    今天继续年前的一项工作,将系统报出错误的日志中的id值提取出来,并在源文件中寻找出该id值所对应的所在行内容,另存到其他文件中;上来一个思路,先写个脚本程序,读取文件,一行行查找id值,将id保存下来存成个文件A,在读取文件A的内容,与源文件B做比对,有符合id的将所在那一行提取出来。

     再写脚本时发现需要用到正则,因为id值是数字且位数不固定,忽然想起来linux中的grep命令,不就是过滤符合正则的字符串,将其显示吗,完全可以通过grep 查找将结果重定向的文件中即可。结果发现使用命令:grep -wo  "id:[0-9]*,"  error.log > id.txt   就将错误的id值提取出来了,十分的方便。-w 是完全匹配单词  -o 是只显示匹配的内容,其他内容不显示。

    在进行第二步,在源文件找出id值在id.txt中的所有内容;本来想通过多重循环过滤实现,后来想grep命令是否有两个文件比对的功能,经查帮助发现 -f 可以将第一个文件中的所有行,作为过滤字符串来在第二个文件中查找符合的字符串,命令如下:grep  -wf  id.txt   rule.txt

    本来需要写个脚本来实现的内容,通过grep命令就简单的实现了,真是方便,又学了一手。

故吾自今始勉,朝闻道,夕可死。

推荐这些文章:

在有空字符串的有序字符串数组中查找(有点问题)

在有空字符串的有序字符串数组中查找
是什么?
存在一个排序后的字符串数组,其中散布着一些空字符串。根据用户输入的字符串进行索引。例如,{'a' , '' , 'ac' , '' , 'ad' , 'b' , '' , 'ba'}有序字符串数组。
思路?
重点:只要是存在有序的序列并且进行查找,我们可以使用二分查找。加快查找速度,时间复杂度低,效率更高。
解法?
方法1(二分查找,迭代方式):

a=['a','','ac','','ad','','b','','ba']
b=input()
x=0
y=len(a)-1
while 1>0: //跟二分查找的代码一样,只不过增加一个判断...

linux查找某内容在文本中出现的位置(grep的使用)

一、测试
1、文本数据

 
2、查找包含script的行

 
3、查找不包含script的行

 
二、grep常见选项
-i   匹配不区分大小写
-v  显示不包含正则表达式匹配项的行
-e  可以提供多个正则表达式
 

...

linux日志内容位置查询 grep -A -B -C 使用介绍

grep -A -B -C 属于上下文控制(Context control)
 
grep -A 显示匹配指定内容及之后的n行
grep -B  显示匹配指定内容及之前的n行
grep -C  显示匹配指定内容及其前后各n行
 
示例
$  grep -A  5  name  test.txt
搜索匹配test.txt文件中与”name”字符串匹配的行,并显示其后的5行
 
内容来自:https://blog.csdn.net/skh2015java/article/details/110239698
...

centos文件查找命令

在使用linux时,经常需要进行文件查找。其中查找的命令主要有find和grep。两个命令是有区的。
区别:
(1)find命令是根据文件的属性进行查找,如文件名,文件大小,所有者,所属组,是否为空,访问时间,修改时间等。
(2)grep是根据文件的内容进行查找,会对文件的每一行按照给定的模式(patter)进行匹配查找。
一.find命令
基本格式:find path expression
1.按照文件名查找
    (1)find / -name httpd.conf  #在根目录下查找文件httpd.conf,表示在整个硬盘查找
    (2)find /etc -name http...

查找Nginx配置文件

ps -ef | grep nginx              此方法只适合nginx在运行情况下
  
可根据 vhost 查找站点信息

 
 

which nginx       查找nginx运行文件所在路径
  

whereis nginx     查找nginx安装路径
  
 
 

...

jmeter参数化内容及边界值提取内容查看是否正确

 
1、jmeter接口执行顺序执行控件    临界部分控制器
 
2、通过if控制器,控制分支执行接口
 
3、控制每个接口之间执行的时间间隔添加固定定时器
 
 
4、jmeter参数化内容及边界值提取内容查看是否正确 ,添加调试取样器

 

...

在centos系统下提取rpm里面内容

概述
有的时候想提取lib-rpm的so文件文件,又不想安装rpm则可以提取rpm包
env

centos6.8

01、requirement
yum install -y rpm cpio

命令相关的rpm

02、提取rpm里面的内容
cpio --help
-i //--extract 提取文件
-d //--make-directories 自动创建目录

rpm2cpio a2ps-4.14-13.el6.x86_64.rpm |cpio -id

提取到当前目录

作者:独木桥
出处:http://xiaochina.cnblogs....

一些linux命令

linux根据一个文件提取另一个文件中的内容
#!/bin/bash
for i in `cat file1`
do
grep $i file2 >> file3
done

...

一些实用的过滤命令

1.ls -lsa 过滤结果
ls -lsa  123*.txt
ls -lsa  *log*

 2.过滤某个文件中某个关键词的前后 n 行记录
grep -2 'hello' 123.txt

 

...

只知道命令名,不知道该装什么包

当在只知道一个命令的名字的时候,使用yum  安装这个命令名却发现没有这个安装包
这个时候可以使用yum list | grep  [命令名字]   来过滤一下包,因为很多命令名跟包名多少都是有一些一样的
如找 rz  命令  
yum list | grep rz
结果就有,大概就找到了,如果实在有一些特别的命令,那就再加油吧哈哈
lrzsz.x86_64 0.12.20-36.el7 @base laszip.x86_64 2.2.0-4.el7 ...

文章标题:centos 中使用命令简单的比较两个文件,把符合的内容所在的行提取出来
文章链接:https://www.dianjilingqu.com/50923.html
本文章来源于网络,版权归原作者所有,如果本站文章侵犯了您的权益,请联系我们删除,联系邮箱:saisai#email.cn,感谢支持理解。
THE END
< <上一篇
下一篇>>