Linux中 cat查询文件指定内容-并输入到指定文件内
常用:
① cat xxx.log | grep -C 20 "查询关键字"
② grep -E '1805|1905' CloudPayment.log > out.log
一、 关键字查询
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
二、 将文字输出到指定文件
条件:
文件名称: CloudPayment.log
搜索内容:1805 或 1905
输出文件: out.log
1、满足一个条件(包含 “TJ” )的语句:
grep '1805' CloudPayment.log > out.log
cat CloudPayment.log | grep '1805' > out.log
2、满足两个条件中的一个条件(包含“1805” 或者 包含“1905”)的命令:
egrep '18051905' CloudPayment.log > out.log
grep -E '1805|1905' CloudPayment.log > out.log
cat CloudPayment.log | grep -E '1805|1905' > out.log
3、同时满足两个条件中(包含“1805” 和 “1905”)的命令:
grep '1805' CloudPayment.log | grep '1905' > out.log
egrep '1805.*1905| 1905.*1805' CloudPayment.log > out.log
cat CloudPayment.log | grep "1805" | grep "1905" > out.log
PS: 符号“>”表示擦除后写入文档 ; “>>”表示追加到文档
部分字符需要使用斜杠转译,如减号等
4、grep和tee结合:
在文件 CloudPayment.log中搜索订单号1905,
并将搜索结果输出到out.log
grep '18051114551940610000' CloudPayment.log | tee -a out.log