Linux:在文件中查找指定内容并输出到文件


引用:Linux:在文件中查找指定内容并输出到文件

一、 关键字查询

  1.查找搜索目标所在行数

$cat xxx.log | grep -n  "查询关键字"

  2.查看搜索目标后2行数据 

$cat xxx.log | grep -A 2  "查询关键字"

  3.查看搜索目标前2行数据 

$cat xxx.log | grep -B 2  "查询关键字"

  4.同时查看搜索目前 前2行和 后2行数据  

$cat xxx.log | grep -C 2  "查询关键字"

  5.查看文件指定行数区间内容 

$sed -n '查询关键字' xxx.log 

二、输出文件:

1 满足一个条件

例如:将文件 file1 中包含 name 的行输出到 file2.

grep 'name' file1 > file2# 
或者cat file1 | grep 'name' > file2

输入grep后提示 匹配到二进制文件 (标准输入) 无显示结果
使用grep -a 'name' file1 > file2# 

2 满足两个条件任意一个
 
egrep 'name|age' file1 > file2# 

或者grep -E 'name|age' file1 > file2# 

或者cat file1 | grep -E 'name|age' > file2

 

  

例如:将文件 file1 中包含 name 或者 age 的行输出到 file2.

 
3 同时满足两个条件

例如:将文件 file1 中包含 name 和 age 的行输出到 file2.

grep 'name' file1 | grep 'age' > file2# 
或者cat file1 | grep 'name' | grep 'age' > file2

  

注意:符号“>”表示擦除文件原内容并写入;“>>”表示追加内容。

4 命令 grep 和 tee 搭配使用

grep 'name' file1 | tee -a file2


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM