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
posted @ 2022-03-09 11:37  冯虚御风,不知所止  阅读(13202)  评论(0编辑  收藏  举报