grep more less……查找日志常用命令

grep命令详解

通用正则表达式解析器(grep,General Regular Expression Parser),打印符合某个特征的行。

使用实例:

  1. 查找指定进程:``ps -ef | grep md`

    image-20210908231320919
  2. 在指定文件中查找有关键字的行:``grep “aa” greptest`

    image-20210908234233322

  3. 在多个文件中查找有关键字的行:``grep “aa” *` *表示该路径下的匹配零个或多个文件image-20210908234648966

  4. 管道符:| 命令1|命令2:命令1的正确执行结果作为明令2的操作对象。 grep "aa" * |grep "ty"image-20210909000342466

参数使用

  1. -c:计算符合样式的列数。grep -c “aa” \*image-20210909000837262

  2. -A 显示行数:显示符合范本样式的那一列之外,并显示该行之的内容(行数)。image-20210909074459236

  3. -B 显示行数:显示符合范本样式的那一列之外,并显示该行之的内容(行数)。image-20210909203644681

  4. -C 显示行数:显示符合范本样式的那一列之外,并显示该行之前后的内容(行数)。image-20210909203935307

  5. -R:递归的对目录下的所有文件(包括子目录)进行 grepimage-20210909204929299

  6. -i:忽略大小写

  7. -h:取消每个输出行前缀,即匹配查询模式的文件名image-20210909225603125

  8. -l:只列出匹配行的文件名,而不输出真正的匹配行image-20210909225731871

  9. grep默认支持通配符。正则表达式就是一些字符是有特殊含义的。

    限定符描述实例
    ^指向一行的开头image-20210909213218092
    $指向一行的结尾image-20210909213330625
    .单个字符image-20210909213454093
    [ ][0-9]字母集合,[0-9a-z]表示字母与数字集合,在这里边的^表示的不是一行开头而是非,[^0-9]非数字字符image-20210909214022599
    \<锚定单词的开始(实际上是:匹配字符之前的空格)image-20210909215642571
    \>锚定单词的结束(实际上是:匹配字符之前的空格)
    \b等价于 \< 和 \>image-20210909221736658
    *匹配前面的子表达式零次或多次。image-20210909222139888
  10. -E:扩展正则表达式,当默认的表达是不够用时,就要使用扩展正则表达式

    限定符描述实例
    ?匹配前面的子表达式,最多一次。image-20210909221422555
    +匹配前面的子表达式一次或多次。image-20210909224442817
    {N}匹配前面的子表达式 N 次。image-20210909224951184
    {N,}匹配前面的子表达式 N 次到多次。
    {N,M}匹配前面的子表达式 N 到 M 次,至少 N 次至多 M 次。

终端分页阅读器

有些文件非常长,无法在一屏的空间内显示完全。所以在查看这种文件时,我们需要分页显示。这时我们就可以使用 more ,less most 命令。

more 命令详解

  1. 空格键:查看下一屏; b键:查看上一屏
  2. 回车键:往下滚动一行;不支持向上滚动一行
  3. /字符串:向下搜索"字符串" 不支持向上搜索
  4. n键:匹配下一个关键字;不支持向上匹配
  5. q 键:退出。

缺点不能高亮查询,只能向下查询,不支持向上滚动一行

  1. 从指定行开始显示: more 默认是从第一行开始显示。但有时我们可能想直接从 100 行开始看,其实只需加一个 +50 即可。image-20210909233304852

  2. more 命令默认是整屏显示,如果我们一次只想查看几行,要怎么操作?只需加一个 -N 选项即可,N 就是你想要查看的行数。image-20210909234624497

  3. 终端里一共显示了 20 行。默认按下空格键是其内容后继续显示20行,如果我们想要每次按下空格键在另一个页面20行,我们只需加上 -c 选项。image-20210911083657458image-20210911083529768

  4. +/pattern 从文件中查找第一个出现字符串的行,并从该处前两行开始显示输出。image-20210910000130514

  5. 也可以在该模式下image-20210911090218653。按/pattern,可以在文本中寻找下一个相匹配的模式(pattern)。再按n匹配下一个模式。 不支持向上查找

    image-20210911090518964

less 命令详解

  1. 空格键:查看下一屏; b键:查看上一屏 d键: 向后翻半页 u键: 向前翻半页
  2. 回车键:往下滚动一行; 上下键:向上下滚动一行
  3. /字符串:向下搜索"字符串" ?字符串:向上搜索"字符串"
  4. n键:匹配下一个关键字; N键:匹配上一个关键字
  5. q 键:退出。

相比较比more 命令,

  1. less可以在整个文件中任意阅读(支持向上滚动一行)。
  2. 支持向上查询(N)(?)
  3. less退出后shell不会留下刚显示的内容,而more退出后会在shell上留下刚显示的内容
  4. 会高亮显示

注意:如果您使用less查看一个小文件,您将在顶部看到空的空白行。不要慌。文件中没有多余的行。只是less命令命令的显示方式而已。

"less -e" 当文件显示结束后,自动离开,无需输入"q"

“less -f” 强迫打开特殊文件,例如外围设备代号、目录和二进制文件

"less -m" 显示类似more命令的百分比

“less -N” 显示每行的行号

“less -s” 将连续的空行合并成一行显示

“less -S” 行信息过长时,将超出部分舍弃

  1. 如果需要向下搜索,输入(/字符串):按 n 键:跳转到下一个匹配的字符串,按 N 键:跳转到上一个匹配的字符串

    /linux
    
  2. 如果需要向上搜索,输入(?字符串):按 n 键:跳转到下一个匹配的字符串,按 N 键:跳转到上一个匹配的字符串

    ?linux
    
  3. 直接定位到某个位置!

    #直接定位到第100行
    less + 100g xx . log
    # 定位到最后一行
    less + GG xx . log
    
  4. 只需要按 v 键,就会将正在阅读的文件在默认编辑器中打开,然后就可以对文件进行各种编辑操作了。

WC命令详解

wc(Word Count):统计指定文件中的字节数、字数、行数,并将统计结果显示输出

  1. -c 统计字节数。
  2. -l统计行数。
  3. -m统计字符数。这个标志不能与 -c 标志一起使用。
  4. -w统计字数。一个字被定义为由空白、跳格或换行字符分隔的字符串。

image-20210911122645833

sort命令详解

sort将文件的每一行作为一个单位,相互比较,比较原则是从首字符向后,依次按ASCII码值进行比较(相同则比较下一个字符),最后将他们按升序输出。

这里可以看到10在2的前面,这是因为比较的是1<2,而不是比较10>2

image-20210911132241307

  1. -n表示按数字进行排序,默认是按ASCII码排序。可以看到不再是一个一个字符的比较了,而是把它当成一个整体来比较

    image-20210911133237818

  2. -u 输出行中去除重复行。可以看到两个20只留下了一个

    image-20210911132640197

  3. -r 表示降序,默认是升序image-20210911133715084

  4. -t 使用符合将一行分为几个小块, -k 使用第几个小块进行比较,默认是第一个小块。-t-k一般都是搭配使用的。-k2,表示第二块,-k3,表示第三块,以此类推 -kn,表示第n块

    使用第二块字母排序

    image-20210911134914775

    使用第三块数字排序

    image-20210911134616185

  5. 其他的sort常用选项

    1. -f 会将小写字母都转换为大写字母来进行比较,亦即忽略大小写
    2. -c 会检查文件是否已排好序,如果乱序,则输出第一个乱序的行的相关信息,最后返回1
    3. -C 会检查文件是否已排好序,如果乱序,不输出内容,仅返回1
    4. -M 会以月份来排序,比如JAN小于FEB等等
    5. -b 会忽略每一行前面的所有空白部分,从第一个可见字符开始比较。
  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值