2019-08-12 15:44:43 oliverJ 阅读数 1659
  • 零基础Linux命令详细案例讲解课程(第3季)--文本搜索...

    课程亮点: 笔记加案例详细讲解Linux知识!!!提供详细的笔记作为辅助工具,200多条笔记帮助学员快速掌握Linux命令行150多个知识点 课程内容: * 文本搜索:通过指定搜索范围、指定匹配范围、指定字符集,再结合正则表达式可进行准确内容的搜索,学习本内容后学员可根据实际业务场景设置相关搜索参数 * 文本处理:行或者指定字段排序、去重复行、文本剪切、文本合并、文件比较、字符替换,学习本内容后学员可熟练掌握文本处理相关命令 课程特色: * 笔记Linux命令:用200条笔记串连所有知识点,让学员从一点一滴积累,学习过程无压力 * 笔记标题采用关键字标识法,帮助学员更加容易记住知识点 * 笔记以超链接形式让知识点关联起来,形式知识体系 * 采用先概念后实例再应用方式,知识点深入浅出 * 提供授课内容笔记作为课后复习以及工作备查工具 部分图标(电脑PC端查看):

    156 人正在学习 去看看 翁老师

Linux在文件中查找字符串

如果你想在当前目录下 查找"hello,world!"字符串,可以这样:

 

grep -rn "hello,world!" *

 

* : 表示当前目录所有文件,也可以是某个文件名

-r 是递归查找

-n 是显示行号

-R 查找所有文件包含子目录

-i 忽略大小写

下面是一些有意思的命令行参数:

 

grep -i pattern files :不区分大小写地搜索。默认情况区分大小写, 

grep -l pattern files :只列出匹配的文件名, 

grep -L pattern files :列出不匹配的文件名, 

grep -w pattern files :只匹配整个单词,而不是字符串的一部分(如匹配‘magic’,而不是‘magical’), 

grep -C number pattern files :匹配的上下文分别显示[number]行, 

grep pattern1 | pattern2 files :显示匹配 pattern1 或 pattern2 的行, 

grep pattern1 files | grep pattern2 :显示既匹配 pattern1 又匹配 pattern2 的行。 

这里还有些用于搜索的特殊符号:

 

\< 和 \> 分别标注单词的开始与结尾。

例如: 

grep man * 会匹配 ‘Batman’、‘manic’、‘man’等, 

grep '\<man' * 匹配‘manic’和‘man’,但不是‘Batman’, 

grep '\<man\>' 只匹配‘man’,而不是‘Batman’或‘manic’等其他的字符串。 

'^':指匹配的字符串在行首, 

'$':指匹配的字符串在行尾,  

 

2,xargs配合grep查找

find -type f -name '*.php'|xargs grep 'GroupRecord'

2018-05-07 16:33:16 Tastill 阅读数 13372
  • 零基础Linux命令详细案例讲解课程(第3季)--文本搜索...

    课程亮点: 笔记加案例详细讲解Linux知识!!!提供详细的笔记作为辅助工具,200多条笔记帮助学员快速掌握Linux命令行150多个知识点 课程内容: * 文本搜索:通过指定搜索范围、指定匹配范围、指定字符集,再结合正则表达式可进行准确内容的搜索,学习本内容后学员可根据实际业务场景设置相关搜索参数 * 文本处理:行或者指定字段排序、去重复行、文本剪切、文本合并、文件比较、字符替换,学习本内容后学员可熟练掌握文本处理相关命令 课程特色: * 笔记Linux命令:用200条笔记串连所有知识点,让学员从一点一滴积累,学习过程无压力 * 笔记标题采用关键字标识法,帮助学员更加容易记住知识点 * 笔记以超链接形式让知识点关联起来,形式知识体系 * 采用先概念后实例再应用方式,知识点深入浅出 * 提供授课内容笔记作为课后复习以及工作备查工具 部分图标(电脑PC端查看):

    156 人正在学习 去看看 翁老师

在项目实施过程中,我们经常会查看日志,更是经常会根据某些特地字符串去查找日志内容。

下面就是日志查找命令:

1、查询字符串命令: cat fileName|grep '要查找的字符串'

实例:cat catalina.out|grep '2018041417434200258001'


2、根据某个字符串,查询该字符串前后文本信息命令:grep-A|B n"key"file

其中:
    A:表示在字符串之后 after  context
    B:表示在字符串之前 before context
    n:要获取多少行文本 line number
    key:为要查找的字符串

    file:文件名

实例:grep -A 100 -B 100 -i '抓不到我' catalina.out

    -i表示忽略大小写。

当然,如果我们想获取异常日志的前10行和后10行,不用加-A和-B,使用如下命令就可以了:

实例:grep -10 -i '抓不到我' catalina.out


2019-11-01 14:19:36 weixin_44743841 阅读数 9
  • 零基础Linux命令详细案例讲解课程(第3季)--文本搜索...

    课程亮点: 笔记加案例详细讲解Linux知识!!!提供详细的笔记作为辅助工具,200多条笔记帮助学员快速掌握Linux命令行150多个知识点 课程内容: * 文本搜索:通过指定搜索范围、指定匹配范围、指定字符集,再结合正则表达式可进行准确内容的搜索,学习本内容后学员可根据实际业务场景设置相关搜索参数 * 文本处理:行或者指定字段排序、去重复行、文本剪切、文本合并、文件比较、字符替换,学习本内容后学员可熟练掌握文本处理相关命令 课程特色: * 笔记Linux命令:用200条笔记串连所有知识点,让学员从一点一滴积累,学习过程无压力 * 笔记标题采用关键字标识法,帮助学员更加容易记住知识点 * 笔记以超链接形式让知识点关联起来,形式知识体系 * 采用先概念后实例再应用方式,知识点深入浅出 * 提供授课内容笔记作为课后复习以及工作备查工具 部分图标(电脑PC端查看):

    156 人正在学习 去看看 翁老师

常用的有如下两种方式:

1.VIM
用vim打开文件,然后输入:
:%s/hello//gn
统计文本中”hello”字符串出现的次数
说明:
%s/pattern/string/flags 意思是把pattern替换为string
参数说明:
% - 指明操作区间,%表示全文本;可以使用1,$或者行区间代替 %s相当于1,$s

s – substitute,表示替换

g是全局

pattern - 要查找的字符串

// - 替代文本应该放在这里,两个斜杠中间没有任何字符表示无替代文本

g – Replace all occurences in the line. Without this argument, replacement occurs only for the first occurence in each line.

n – Report the number of matches, and do not actually substitute. 这是核心功能,同时也说明为什么//之间可以添加任意字符。

一些引申出的应用:

(1) :k,ls/pattern//gn

统计k行到l行出现pattern的次数

(2) :%s/pattern//gn

统计在当前编辑文本出现的次数

2.GREP配合wc命令 统计在文件中出现的行数
grep -o “hello” demo.log | wc -l

另外附上几个grep常用的参数:
-o 一条数据里面有多个相同,会统计相同的次数
-c 只显示有多少行匹配 ,而不具体显示匹配的行
-i 在字符串比较的时候忽略大小写
-n 在每一行前面打印该行在文件中的行数

2011-10-01 21:35:30 tangpengtao 阅读数 19112
  • 零基础Linux命令详细案例讲解课程(第3季)--文本搜索...

    课程亮点: 笔记加案例详细讲解Linux知识!!!提供详细的笔记作为辅助工具,200多条笔记帮助学员快速掌握Linux命令行150多个知识点 课程内容: * 文本搜索:通过指定搜索范围、指定匹配范围、指定字符集,再结合正则表达式可进行准确内容的搜索,学习本内容后学员可根据实际业务场景设置相关搜索参数 * 文本处理:行或者指定字段排序、去重复行、文本剪切、文本合并、文件比较、字符替换,学习本内容后学员可熟练掌握文本处理相关命令 课程特色: * 笔记Linux命令:用200条笔记串连所有知识点,让学员从一点一滴积累,学习过程无压力 * 笔记标题采用关键字标识法,帮助学员更加容易记住知识点 * 笔记以超链接形式让知识点关联起来,形式知识体系 * 采用先概念后实例再应用方式,知识点深入浅出 * 提供授课内容笔记作为课后复习以及工作备查工具 部分图标(电脑PC端查看):

    156 人正在学习 去看看 翁老师
从文件中查找关键词
grep 'linux' text.txt //查找包含 linux的关键词

[root@localhost ~]# grep 'root' /etc/group
root:x:0:root
bin:x:1:root,bin,daemon

从多个文件中查找关键词

[root@localhost ~]# grep 'root' /etc/group /etc/my.cnf
/etc/group:root:x:0:root
/etc/my.cnf:user = root

查找当前目录下以及下辖子目录下所有包含str字符串的文件,会列出文件名.以及该行的内容.以及行号 

-n是打印行号,-r是在子目录也要查询

grep -n "str" -r ./

用 -i 搜索的时候可以忽略大小写

所有的子目录下面执行相应的查找,利用 -r 来完成

用-l是打印所有的结果

grep -ril 'str' ./

find 是查找文件的常用命令

查找在 /etc 目录下所有文件名中含有 mail 的文件

[root@localhost ]# find /etc/ -name '*mail*'
/etc/mail.rc
/etc/rc.d/rc5.d/K30sendmail
/etc/rc.d/rc4.d/K30sendmail

查找文件大小超过指定值的文件
[root@localhost ]# find ./ -type f -size +100M
./test.sql

最近几天被修改过的文件
find . -mtime -2






2013-05-31 16:35:14 huaishuming 阅读数 12282
  • 零基础Linux命令详细案例讲解课程(第3季)--文本搜索...

    课程亮点: 笔记加案例详细讲解Linux知识!!!提供详细的笔记作为辅助工具,200多条笔记帮助学员快速掌握Linux命令行150多个知识点 课程内容: * 文本搜索:通过指定搜索范围、指定匹配范围、指定字符集,再结合正则表达式可进行准确内容的搜索,学习本内容后学员可根据实际业务场景设置相关搜索参数 * 文本处理:行或者指定字段排序、去重复行、文本剪切、文本合并、文件比较、字符替换,学习本内容后学员可熟练掌握文本处理相关命令 课程特色: * 笔记Linux命令:用200条笔记串连所有知识点,让学员从一点一滴积累,学习过程无压力 * 笔记标题采用关键字标识法,帮助学员更加容易记住知识点 * 笔记以超链接形式让知识点关联起来,形式知识体系 * 采用先概念后实例再应用方式,知识点深入浅出 * 提供授课内容笔记作为课后复习以及工作备查工具 部分图标(电脑PC端查看):

    156 人正在学习 去看看 翁老师

vim的查找字符串

分类: linux 411人阅读 评论(0) 收藏 举报
 
一、用/和?的区别:
/后跟查找的字符串。vim会显示文本中第一个出现的字符串。
?后跟查找的字符串。vim会显示文本中最后一个出现的字符串。
二、注意事项:
不管用/还是?查找到第一个字符串后,按回车,vim会高亮所有的匹配文
系统新氧ubuntu下默认的是incsearch模式,就是输完命令后,会自动显示第一个(或最后一个)匹配。
如果输入:set noincsearch 会转到普通模式,不会自动显示第一个匹配,回车后显示所有匹配。
高亮所有的匹配后,按n键转到下一个匹配,按N键转到上一个匹配。
没有更多推荐了,返回首页