linux命令之文本内容查看与搜索

目录

目录

一、grep命令

1.1.常用用法

1.1.1文件内容查找:

1.1.2搜索后的内容展示

二、vim命令

2.1 vim中的三种模式

2.2常用命令:

2.2.1.显示文本行号

2.2.2.光标移动命令(命令模式)

2.2.3.翻屏 

2.2.4.查找

四、tail命令

五、截取文本指定范围的文本

总结



前言

在开发中经常会遇到查看日志的场景。如果需要查找日志中的关键字可以通过grep或者vim中的命令进行查找。也可以通过tail命令进行查看实时日志。


一、grep命令

grep:中文意思就是查找字符串的意思,通过man grep命令可以看到对这个命令的描述:

DESCRIPTION
       grep  searches  for PATTERN in each FILE.  A FILE of “-” stands for standard input.  If no FILE is given, recursive searches examine the working directory, and nonrecursive searches read standard input.  By default, grep prints the matching lines.

#大致意思是说:grep在每个文件中查找通过匹配模式匹配数据。如果没有自定文件,递归搜索工作目录下存在的文件。grep 默认打印匹配出的行。

语法格式:

grep [OPTIONS] PATTERN [FILE...]

1.1.常用用法

1.1.1文件内容查找:

#1.查找当前目录下a.txt文件内 包含abc的行内容
grep abc a.txt 

#note 如果想搜索----abc 关键字 需要在关键字前加转移符,如 grep \\----abc a.txt
#运行结果
#-----abc---



#2.递归查找当前文件夹下 包含abc的行内容,如果有文件中,也会查找文件夹内的文件
grep -r abc ./*  

#运行结果
#./a.txt:-----abc---
#./data/a.txt:a.txt--abc--a.txt


#3.对于示例2,如果不需要查找文件夹内的文件,可以通过 -a命令来指定文件格式为txt
grep -d skip  abc ./*   

#运行结果
# ./a.txt:-----abc---

1.1.2搜索后的内容展示

#展示匹配内容及前面2行  -nH代表显示行号和文件名 -B(befor)
grep -B 2 -nH  abc a.txt 

#运行结果
a.txt-2-hell2
a.txt-3-hell3
a.txt:4:-----abc---


#展示匹配内容及后面2行  -nH代表显示行号和文件名 -A(after)
grep -A 2 -nH  abc a.txt 

#运行结果
a.txt:4:-----abc---
a.txt-5-word1
a.txt-6-word2


#展示匹配内容及后面2行  -nH代表显示行号和文件名 -C
grep -C 2 -nH  abc a.txt 

#运行结果
a.txt-2-hell2
a.txt-3-hell3
a.txt:4:-----abc---
a.txt-5-word1
a.txt-6-word2

其他详细用法可以参考man grep 命令,或参考博客grep用法大全 && grep常用用法总结_夜雨落花的博客-CSDN博客_grep用法

二、vim命令

2.1 vim中的三种模式

1:命令模式
        在该模式下不能对文件直接进行编辑,但可以使用一些快捷键岁文件进行操作(删除行、复制行、移动光标、粘贴等)【打开时候默认进入的模式】

2:编辑模式(输入模式);
        在该模式下可以对文件内容进行编辑

3: 末行模式(尾行模式)。
        可以在末行输入命令来对文件进行操作(搜索、替换、保存、退出、撤销、高亮等)

2.2常用命令:

在进行查找前,我们先学习一些必要的命令

2.2.1.显示文本行号

#尾行行模式下输入 set nu
:set nu

2.2.2.光标移动命令(命令模式)

命令作用类型
gg光标移动到文件首位全局位置移动
G

光标移动到文件末尾

H把光标移到屏幕最顶端一行
M把光标移到屏幕中间一行
L把光标移到屏幕最底端一行
:n/nG

光标移动到指定行

跳跃移动
n光标向下移动n行
enter光标移动到下一行行首

行内/行间移动

h光标向左移动一个字符
l光标向右移动一个字符
j光标向下移动一个字符
k光标向上移动一个字符
0/^光标移动到行的首位
$光标移动到行的末位
:%d删除文件中所有字符串 %代表整个文件。 d 代表删除删除字符

 

2.2.3.翻屏 

命令作用
ctrl+f下翻一屏
ctrl+b上翻一屏
ctrl+d下翻半屏
ctrl+u上翻半屏

2.2.4.查找

命令说明
/someting在前面的文本中查找something关键字
?someting在后面的文本中查找something关键字
n沿当前搜索方向继续搜索下一个匹配字段
N沿当前搜索相反方向搜索下一匹配字段。

四、tail命令

        tail命令主要用来查看实时日志,可通过 tail -f file命令来实现。默认展示前10行数据。

如果需要指定显示的行数可以通过 tail -n 100 -f file 命令实现

五、截取文本指定范围的文本

# 选取 test.txt文本中startNum和endNum之间的文本
head -n endNum test.txt | tail -n $((startNum - endNum)) > tmp.txt 


总结

文中记录了三种文本内容查看或搜索的命令。文中部分内容参考网络博主。对此表示感谢。

  • 7
    点赞
  • 35
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值