精华内容
下载资源
问答
  • linux:根据关键字或日期查找日志

    千次阅读 2020-05-09 19:12:57
    Q:Linux命令,根据关键字查询日志 A:1.单个文件可以使用vi或vim编辑器打开日志文件,使用编辑器里的查找功能。在查看模式下,符号/后面跟关键字向下查找,符号?后面跟关键字向上查找,按n查找下一个,按N查找上一个...

    Q:Linux命令,根据关键字查询日志

    A:1.单个文件可以使用vi或vim编辑器打开日志文件,使用编辑器里的查找功能。在查看模式下,符号/后面跟关键字向下查找,符号?后面跟关键字向上查找,按n查找下一个,按N查找上一个。
        2.多个文件可以使用grep命令,比如 grep ERROR /var/log/messages*。会把匹配到ERROR这个关键字的行和所在的日志文件直接输出到屏幕。
        3.还可以使用cat命令后面使用grep过滤等方法,不如上面两个实用。上面两个较常用。

    常用到的命令在这里记录一下:

    1.VI:单个文件可以使用vi或vim编辑器打开日志文件,使用编辑器里的查找功能。在查看模式下,符号/后面跟关键字向下查找,符号?后面跟关键字向上查找,按n查找下一个,按N查找上一个。

    2.grep命令:cat 1.log | grep key  可以写为: grep key 1.log 

    根据字符串查询日志中关键词出现的位置:cat -n 日志文件| grep 'keyword'

    例:cat -n 1.log | grep 'keyword'

    检索日志,并显示该条日志的前后N(10)行记录:cat 日志文件 | grep -n -B10 -A10 "关键字"

    3.查看某段时间内的日志: sed -n '/起始时间/,/结束时间/p' 日志文件,

       查看某段时间内的关键字日志:sed -n '/起始时间/,/结束时间/p' 日志文件| grep ‘keyword’

    例:sed -n ‘/2018-06-21 14:30:20/,/2018-06-21 16:12:00/p’ catalina.out | grep ‘keyword’

    4.

    tail  -n  10  日志文件   查询日志尾部最后10行的日志;

    tail -n +10 日志文件    查询10行之后的所有日志;

    head -n 10  日志文件  查询日志文件中的头10行日志;

    head -n -10  日志文件  查询日志文件除了最后10行的其他所有日志;

    5. 

    如果我们查找的日志很多,打印在屏幕上不方便查看, 有两个方法:

    (1)使用more和less命令, 如: cat -n test.log |grep "地形" |more     这样就分页打印了,通过点击空格键翻页

    (2)使用 >xxx.txt 将其保存到文件中,到时可以拉下这个文件分析.如:

    cat -n test.log |grep "地形"  >xxx.txt

     

    1.VI中

    参考:https://www.cnblogs.com/moly/p/9186664.html

    //以下删除命令好多都是剪贴,删除应该就是剪贴吧。。
    Ctrl+u:向文件首翻半屏;
    Ctrl+d:向文件尾翻半屏;
    Ctrl+f:向文件尾翻一屏;
    Ctrl+b:向文件首翻一屏;
    Esc:从编辑模式切换到命令模式;
    ZZ:命令模式下保存当前文件所做的修改后退出vi;
    :行号:光标跳转到指定行的行首;
    :$:光标跳转到最后一行的行首;
    x或X:删除一个字符,x删除光标后的,而X删除光标前的;
    D:删除从当前光标到光标所在行尾的全部字符;
    dd:删除光标行正行内容;
    ndd:删除当前行及其后n-1行;
    nyy:将当前行及其下n行的内容保存到寄存器?中,其中?为一个字母,n为一个数字;
    p:粘贴文本操作,用于将缓存区的内容粘贴到当前光标所在位置的下方;
    P:粘贴文本操作,用于将缓存区的内容粘贴到当前光标所在位置的上方;
    /字符串:文本查找操作,用于从当前光标所在位置开始向文件尾部查找指定字符串的内容,查找的字符串会被加亮显示;
    ?name:文本查找操作,用于从当前光标所在位置开始向文件头部查找指定字符串的内容,查找的字符串会被加亮显示;
    a,bs/F/T:替换文本操作,用于在第a行到第b行之间,将F字符串换成T字符串。其中,“s/”表示进行替换操作;
    a:在当前字符后添加文本;
    A:在行末添加文本;
    i:在当前字符前插入文本;
    I:在行首插入文本;
    o:在当前行后面插入一空行;
    O:在当前行前面插入一空行;
    :wq:在命令模式下,执行存盘退出操作;
    :w:在命令模式下,执行存盘操作;
    :w!:在命令模式下,执行强制存盘操作;
    :q:在命令模式下,执行退出vi操作;
    :q!:在命令模式下,执行强制退出vi操作;
    :e文件名:在命令模式下,打开并编辑指定名称的文件;
    :n:在命令模式下,如果同时打开多个文件,则继续编辑下一个文件;
    :f:在命令模式下,用于显示当前的文件名、光标所在行的行号以及显示比例;
    :set number:在命令模式下,用于在最左端显示行号;
    :set nonumber:在命令模式下,用于在最左端不显示行号;
    1,3 co 4 将1-3行复制到4行之后
    set nu 显示行数
    nu 查看行数
    u 撤销
    U 撤销,撤销上一次撤销, 就是撤销/恢复重复
    gg 光标移动到第一行
    G 光标到最后一行
    1/2/3 任意数字,光标到指定数字行
    "zz"命令会把当前行置为屏幕正中央,"zt"命令会把当前行置于屏幕顶端,"zb"则把当前行置于屏幕底端.
    搜索: "?"命令与"/"的工作相同,只是搜索方向相反.n下一次出现的位置,"N"命令会重复前一次查找,但是与最初用"/"或"?"指定的搜索方向相反。
    如果查找内容忽略大小写,则用命令"set ignorecase", 返回精确匹配用命令"set noignorecase"
    \ 用于转义特殊字符

    2.linux中grep命令的用法

    参考:https://www.cnblogs.com/flyor/p/6411140.html

    作为linux中最为常用的三大文本(awk,sed,grep)处理工具之一,掌握好其用法是很有必要的。

    首先谈一下grep命令的常用格式为:grep  [选项]  ”模式“  [文件]

    grep家族总共有三个:grep,egrep,fgrep。

    常用选项:

      -E :开启扩展(Extend)的正则表达式。

      -i :忽略大小写(ignore case)。

      -v :反过来(invert),只打印没有匹配的,而匹配的反而不打印。

      -n :显示行号

      -w :被匹配的文本只能是单词,而不能是单词中的某一部分,如文本中有liker,而我搜寻的只是like,就可以使用-w选项来避免匹配liker

      -c :显示总共有多少行被匹配到了,而不是显示被匹配到的内容,注意如果同时使用-cv选项是显示有多少行没有被匹配到。

      -o :只显示被模式匹配到的字符串。

      --color :将匹配到的内容以颜色高亮显示。

      -A  n:显示匹配到的字符串所在的行及其后n行,after

      -B  n:显示匹配到的字符串所在的行及其前n行,before

      -C  n:显示匹配到的字符串所在的行及其前后各n行,context

       

       

     

     

    模式部分:

      1、直接输入要匹配的字符串,这个可以用fgrep(fast grep)代替来提高查找速度,比如我要匹配一下hello.c文件中printf的个数:grep  -c  "printf"  hello.c

      2、使用基本正则表达式,下面谈关于基本正则表达式的使用:

        匹配字符:

          . :任意一个字符。

          [abc] :表示匹配一个字符,这个字符必须是abc中的一个。

          [a-zA-Z] :表示匹配一个字符,这个字符必须是a-z或A-Z这52个字母中的一个。

          [^123] :匹配一个字符,这个字符是除了1、2、3以外的所有字符。

          对于一些常用的字符集,系统做了定义:

          [A-Za-z] 等价于 [[:alpha:]]

          [0-9] 等价于 [[:digit:]]

          [A-Za-z0-9] 等价于 [[:alnum:]]

          tab,space 等空白字符 [[:space:]]

          [A-Z] 等价于 [[:upper:]]

          [a-z] 等价于 [[:lower:]]

          标点符号 [[:punct:]]

          

     

     

        匹配次数:

          \{m,n\} :匹配其前面出现的字符至少m次,至多n次。
          \? :匹配其前面出现的内容0次或1次,等价于\{0,1\}。
          * :匹配其前面出现的内容任意次,等价于\{0,\},所以 ".*" 表述任意字符任意次,即无论什么内容全部匹配。

          

     

     

     

        位置锚定:

          ^ :锚定行首

          $ :锚定行尾。技巧:"^$"用于匹配空白行。

          \b或\<:锚定单词的词首。如"\blike"不会匹配alike,但是会匹配liker

          \b或\>:锚定单词的词尾。如"\blike\b"不会匹配alike和liker,只会匹配like

          \B :与\b作用相反。

          

          

     

     

        分组及引用:

          stringstring :将string作为一个整体方便后面引用

            \1 :引用第1个左括号及其对应的右括号所匹配的内容。

            \2 :引用第2个左括号及其对应的右括号所匹配的内容。

            \n :引用第n个左括号及其对应的右括号所匹配的内容。

            

     

     

      3、扩展的(Extend)正则表达式(注意要使用扩展的正则表达式要加-E选项,或者直接使用egrep):

        匹配字符:这部分和基本正则表达式一样

     

        匹配次数

          * :和基本正则表达式一样

          ? :基本正则表达式是\?,二这里没有\。

          {m,n} :相比基本正则表达式也是没有了\。

          + :匹配其前面的字符至少一次,相当于{1,}。

     

        位置锚定:和基本正则表达式一样。

     

        分组及引用

          (string) :相比基本正则表达式也是没有了\。

            \1 :引用部分和基本正则表达式一样。

            \n :引用部分和基本正则表达式一样。

     

        或者

          a|b :匹配a或b,注意a是指 | 的左边的整体,b也同理。比如 C|cat 表示的是 C或cat,而不是Cat或cat,如果要表示Cat或cat,则应该写为 (C|c)at 。记住(string)除了用于引用还用于分组。

         

    注1:默认情况下,正则表达式的匹配工作在贪婪模式下,也就是说它会尽可能长地去匹配,比如某一行有字符串 abacb,如果搜索内容为 "a.*b" 那么会直接匹配 abacb这个串,而不会只匹配ab或acb。

    注2:所有的正则字符,如 [ 、* 、( 等,若要搜索 * ,而不是想把 * 解释为重复先前字符任意次,可以使用 \* 来转义。

     

    下面用一个练习来结束本次grep的学习:

    在网络配置文件 /etc/sysconfig/network-scripts/ifcfg-ens33 中检索出所有的 IP

    1、检索出 0-255的范围

    2、由0-255的数字组合成IP

    3、简化

    其他参考:https://jingyan.baidu.com/article/656db918fccd01e381249c2b.html

                      https://blog.csdn.net/janwen2010/article/details/72954125

                      https://blog.csdn.net/u013410747/article/details/71192140

    展开全文
  • 1、平时项目都在linux服务器上,所以想要查问题就要在vim下进行查找某一个关键字,我们可以在vim下进入命令模式下,输入要查询的关键字,如果想看这个关键字在哪些地方出现过,可以用shift+#来向上翻页查询关键字,...

    1、平时项目都在linux服务器上,所以想要查问题就要在vim下进行查找某一个关键字,我们可以在vim下进入命令模式下,输入要查询的关键字,如果想看这个关键字在哪些地方出现过,可以用shift+#来向上翻页查询关键字,shift+n向下查询关键字,直接以你想查的关键字为索引,不必在大量的log日志中寻找需要的信息,简单明了。

    vim 搜索可以是 / 或者 ?,前者是往下找,后者是往前找。

    用 n 查找下一个的时候,就和这两个指令指定的方向相同。如果你想改变方向的话,比如想往下找,那么 / 完了直接回车就行了。表示再次使用上次的搜索串。

    2、在编辑某些配置文件时,如logback.xml或application.yml文件时,有时候可能有一些配置是不需要的,除了将他们直接注释掉以为,也可以将他们删除掉,一行一行删吗?太费劲了,可以在命令模式下 用:set nu显示行号,接着用:1,10d来删除第一行到第10行的数据,是不是很方便啊。

    展开全文
  • 介绍vi编辑器日常实用小技巧,比如搜索,复制粘贴,行号显示等操作

    1 搜索关键字/高亮显示

    搜索NA关键字
    输入/NA、?NA或者?\<NA\>回车后高亮页面上搜索到的关键字
    在这里插入图片描述
    快捷键是shift+#
    把光标移到需要查找的字符串上按下shift+#
    在这里插入图片描述

    ‘/’和‘?’区别
    ‘/’是自上而下由左到右进行搜索查找
    ‘?’是自下而上由右到左进行搜索查找
    可以使用‘n’键在各个高亮的关键字和行之间切换来查看区别
    取消高亮:
    在vi的命令行模式下输入nohl
    :nohl
    在这里插入图片描述

    2 去除vi粘贴多行字符串时行首多余空格

    当我们由其他地方拷贝多行字符串到编辑器内可能出现下面的情况导致缩进异常,粘贴的代码不满足预期
    在这里插入图片描述
    这时可以在命令模式下输入set paste后再进行粘贴操作
    效果如下:
    在这里插入图片描述
    退出paste状态
    set nopaste
    参考解决vim粘贴多行命令时行首多出很多空格

    3 行号显示/隐藏

    set nu:显示行号
    set nonu:隐藏行号
    参考【Linux】vim编辑器行号显示/隐藏

    4 快速定位到某一行

    在命令行模式(通过Esc键进入)下输入以下命令
    gg:输入两次小写的‘g’将光标定位到行首。
    G:输入大写的‘G’将光标定位到行尾。
    33gg或者33G:将光标定位到33行的位置,注意行号是由1开始的,可以结合上面的set nu显示行号功能进行验证

    5 多行复制(y)/剪切(c)/粘贴(p)

    比如复制下图中2,3行,插入到第4行后
    具体操作:

    • 光标移到第2行,输入‘2yy’或‘y2y’(由光标所在行开始拷贝两行)
      在这里插入图片描述
    • 将光标移到第4行,输入‘p’(将上面拷贝的2,3两行的字符串贴到第4行后面)
      在这里插入图片描述在这里插入图片描述
    操作描述
    yw复制一个单词
    yl复制一个单词
    yy复制1行
    5yy或y5y复制5行

    将复制操作的‘y’替换为‘c’是剪切操作

    5 快速删除多行字符

    单行删除:命令模式下将光标移到需要删除的行上,按两下‘d’键删除对应的行
    多行删除

    • '2d’或者’2,d’删除第2行
    • '2,3d’删除2,3两行
    • '2,.d’删除第2行到目前光标所在的行
    • '2,$'删除第2行到末尾行
      在这里插入图片描述
      在这里插入图片描述
    展开全文
  • 本文介绍在Vim编辑器中删除行的不同方法安装vim#在Ubuntu/Debian中的安装方式$sudoaptinstallvim#在RHEL/Centos中的安装方式#]yum-yinstallvim删除单行内容将光标移动到需要删除按一下ESC键,确保退出编辑模式按...

    导读

    如何从Vim中删除行?如何删除多行?本文介绍在Vim编辑器中删除行的不同方法

    安装vim

    #在Ubuntu/Debian中的安装方式

    $ sudo apt install vim

    #在RHEL/Centos中的安装方式

    #] yum -y install vim

    删除单行内容

    将光标移动到需要删除的行

    按一下ESC键,确保退出编辑模式

    按两次键盘上面的

    d键,就可以删除了。

    删除所有的行

    下面是三种删除方式

    第一种方式

    按一下ESC键,确保退出编辑模式

    按两次键盘上面的

    g键,让光标移动到文本的首行

    然后按键盘上面的

    d和

    G键。其中d键是小写,G键要切换成大写的。

    这样就可以删除所有内容了。

    第二种方式

    按一下ESC键,确保退出编辑模式

    按一下

    :冒号键,(shift + ;)就可以输入

    :冒号了。

    然后输入

    1,$d

    viewspace-2681334

    第三种方式

    按一下ESC键,确保退出编辑模式

    按一下

    :冒号键,

    shift + ;就可以输入

    :冒号了。

    然后输入

    %d。

    %表示文件中的所有行。

    viewspace-2681334

    删除多行

    将光标移动到需要删除的行

    按一下ESC键,确保退出编辑模式

    在dd

    前面加上要删除的行数。例如,如果要删除第4行以下的3行,请按下

    3 dd

    viewspace-2681334

    删除给定范围的行

    实例一

    如果你想要删除指定范围的行,比如从第3行到第5行,按ESC,然后输入下面的

    ,然后回车。

    :3,5d

    viewspace-2681334

    实例二

    删除最后一行,按ESC,然后输入下面的命令,然后回车。

    :$d

    viewspace-2681334

    实例三

    删除当前行之前的所有行

    :1,.-1d

    viewspace-2681334

    实例四

    删除当前行之后的所有行

    :.+1,$d

    viewspace-2681334

    通过条件匹配删除行

    实例一

    删除包含text关键字的行

    :g/text/d

    viewspace-2681334

    实例二

    删除不包含

    #关键字的行

    :%g!/#/d

    #或者

    :v/#/d

    viewspace-2681334

    实例三

    删除以

    #开的的注释内容。

    :g/^#/d

    viewspace-2681334

    实例四

    删除所有空行

    :g/^$/d

    viewspace-2681334

    总结

    Vim有许多有用的功能,它们包括支持正则表达式的搜索,轻松重复命令的能力,直接记录和执行宏,自动完成,文件合并,鼠标集成,拼写检查,语法突出显示,分支撤消/重做历史,支持流行网络协议和文件存档格式等。

    本文原创地址:

    展开全文
  • linux vi 常用命令

    2012-09-18 12:55:47
    linux vi 常用命令 命令行模式(command mode)功能键 1). 插入模式 按「i」切换进入插入模式「insert mode」,按"i"进入插入模式后是从光标当前位置开始输入文件; 按「a」进入插入模式后,是从目前光标所在位置...
  • linux Vi操作和使用方法详解

    万次阅读 多人点赞 2017-11-01 13:51:36
    vi编辑器是所有Unix及Linux系统下标准的编辑器,它的强大不逊色于任何最新的文本...Vi也是Linux中最基本的文本编辑器,学会它后,您将在Linux的世界里畅无阻。 1、vi的基本概念  基本上vi可以分为三种状态,分别
  • Linux vi中查找字符内容的方法

    千次阅读 2018-11-09 10:42:24
    使用vi编辑器编辑长文件时,常常是头昏眼花,也找不到需要更改的内容。 这时,使用查找功能尤为重要。 方法如下: 1、命令模式下输入“/字符串”,例如“/Section 3”。 2、如果查找下一个,按“n”即可。 要自...
  • Linux vi常见命令使用案例 声明与简介 本文的数据来自网络,部分代码也有所参照,这里做了注释和延伸,旨在技术交流,如有冒犯之处请联系博主及时处理。本文主要介绍Linux内置的编辑器vi的使用。 vi编辑器是所有...
  • Linuxvi的常用命令和快捷键使用(20190221)文章目录:一、VI简单介绍二、VI三种模式的使用1、VI模式的使用2、VI编辑模式的使用3、VI命令模式的使用 vi 的使用主要分为三种形式:底模式、编辑模式、命令...
  • 一、vi的基本概念基本上vi能够分为三种状态,分别是命令模式(command mode)、插入模式(Insert mode)和底模式(last line mode),各模式的功能区分以下:1) 命令行模式command mode)控制屏幕光标的移动,字符、字或...
  • Linuxvi的基本操作

    2021-06-18 15:06:37
    控制屏幕光标的移动,字符、字或删除,移动复制某区段及进入Insert mode下,或者到 last line mode。 2) 插入模式(Insert mode) 只有在Insert mode下,才可以做文字输入,按[ESC]键可回到命令行模式。 3
  • Linux——vi命令详解

    千次阅读 2019-08-28 16:19:37
    vi编辑器是所有Unix及Linux系统下标准的编辑器,它的强大不逊色于任何最新的...Vi也是Linux中最基本的文本编辑器,学会它后,您将在Linux的世界里畅无阻。 1、vi的基本概念  基本上vi可以分为三种状态,分别是命...
  • Linuxvi命令

    2020-05-30 08:10:34
    Vi也是Linux中最基本的文本编 辑器,学会它后,您将在Linux的世界里畅无阻。 1、vi的基本概念  基本上vi可以分为三种状态,分别是命令模式(command mode)、插入模式(Insert mode)和底模式(last line mo
  • Vim删除特定字符的

    千次阅读 2018-08-08 17:16:49
    Vim 删除指定条件的: :g/xxx/d,删除包含xxx的 :v/xxx/d,删除不含xxx的
  • linux vi命令详解

    2018-10-29 15:08:29
    刚开始学着用linux,对vi命令不是很熟,在网上转接了一篇。 vi编辑器是所有Unix及Linux系统下标准的编辑器,它的强大不逊色于任何最新的文本编辑器,这里只是简单地介绍一下它的用法和一小部分指 令。由于 对Unix及...
  • 看老师的 ppt 做一点笔记 ,方便以后查找,记是不可能都记住的,只有随用随学,随查...它功能非常强大,通过使用vi编辑器,可以对文本进行创建、查找、替换、删除、复制和粘贴等操作。 vi编辑器有3种基本工作模式,.
  • 文章转载地址 1、linux shell 命令行下删除一个单词的方法: 我们有时在Linux下输入命令时,难免有输错的时候,在有的终端上,输错后,用退格则出现乱码现像,...2、vi删除一个单词的方法: diw 删除光标上的单词 (不
  • Linuxvi/vi编辑器1.vi/vim模式及模式间的切换2.命令模式下3.命令模式——>编辑模式4.末模式5. 打开文件6.关闭文件 1.vi/vim模式及模式间的切换 命令模式 a.i.o——————>输入模式 输入模式 ESC——...
  • linux 修改文件内容 vi命令

    万次阅读 2015-07-28 10:29:30
    vi编辑器是所有Unix及Linux系统下标准...Vi也是Linux中最基本的文本编辑器,学会它后,您将在Linux的世界里畅无阻。 在所有的命令执行前,先按Esc 1、vi的基本概念   基本上vi可以分为三种状态,分别是命令模式
  • Linux 使用vi命令 修改文件内容

    千次阅读 2020-02-21 09:18:50
    vi编辑器是所有Unix及Linux系统下...Vi也是Linux中最基本的文本编辑器,学会它后,您将在Linux的世界里畅无阻。 在所有的命令执行前,先按Esc 1、vi的基本概念  基本上vi可以分为三种状态,分别是命令模式(com...
  • LINUX 修改文件内容 vi命令

    千次阅读 2019-02-25 18:36:26
    vi编辑器是所有Unix及Linux系统下...由于对Unix及Linux系统的任何版本,vi编辑器是完全相同的,因此您可以在其他任何介绍vi的地方进一步了解它。Vi也是Linux中最基本的文本编辑器,学会它后,您将在Linux的世界里...
  • Linux下ctrl 常用组合键 Ctrl+左右键 单词间跳转 Ctrl+a 跳到行首 Ctrl+c 结束正在运行的程序 Ctrl+d 结束输入或退出shell Ctrl+e 切换到命令行末尾 Ctrl+k 清除当前光标之后的内容 Ctrl+l 清屏,【是字母L的小写】...
  • Linux vi编辑器基本命令 vi编辑器是所有Unix及Linux系统下标准的编辑器,它的强大不逊色于任何最新的文本...Vi也是Linux中最基本的文本编辑器,学会它后,您将在Linux的世界里畅无阻。 1、vi的基本概念 基本上v...
  • 进入末模式 set nu或者set number 设置行号 set no 或者set nonumber 取消行号 set readonly 设置文件只读 不能更改 /关键字 然后n就会跳到下一个。 N跳到上一个关键词 这个是向下查找 ?关键字 然后n就会跳到上一...
  • vi编辑器是所有Unix及Linux系统下标准的编辑器,它的强大不逊色于任何最新的文本编辑器,这里只是简单地介绍一下它的用法和一小部分指令。 1、vi的基本概念 基本上vi可以分为三种状态,分别是命令模式(command ...
  • linux vi工具

    2021-02-12 20:09:27
     「dd」:删除光标所在。 跳至指定的  「ctrl」+「g」列出光标所在的行号。  「#G」:例如,「15G」,表示移动光标至文章的第15行行首。 2. 插入模式 从命令模式进入到插入模式: 1)按i键 按"i...
  • 当时需求:查看系统日志,统计系统的处理时间(从请求进去系统到系统返回) ...1. 将日志中的关键(初始、结束、关键节点)打印出来/输出到文件(后添加:> 2.log):  cat 1.log | grep ke...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 20,756
精华内容 8,302
关键字:

linuxvi删除关键字的行

linux 订阅